teratail header banner
teratail header banner
質問するログイン新規登録

回答編集履歴

4

display: flex;についての解説も追記

2020/05/11 03:27

投稿

new1ro
new1ro

スコア4528

answer CHANGED
@@ -37,4 +37,24 @@
37
37
  <li class="room"><!-- 全体の50%の横幅 -->
38
38
  <select id="room"><!-- .roomの50%の横幅 = 全体の25%の横幅 -->
39
39
  ```
40
- そのため、#idには、親要素の横幅いっぱい = `width: 100%;`を指定する必要があります。
40
+ そのため、#idには、親要素の横幅いっぱい = `width: 100%;`を指定する必要があります。
41
+
42
+ ---
43
+ 追記です。プラスアルファの話として、
44
+ 今回`display: flex;`を使用しているので、以下のように書き換えてもいいのではと思います。
45
+
46
+ ```CSS
47
+ .room,
48
+ .gest {
49
+ flex: 1 1 0%;
50
+ height: 50px;
51
+ }
52
+ .room {
53
+ margin-right: 10px; /* 好きな値を指定してください。 */
54
+ }
55
+ #gest,
56
+ #room {
57
+ width: 100%;
58
+ height: 50px;
59
+ }
60
+ ```

3

修正

2020/05/11 03:27

投稿

new1ro
new1ro

スコア4528

answer CHANGED
@@ -1,4 +1,4 @@
1
- 以下のように、横幅を分離する必要があります。
1
+ 以下のように、親要素と子要素との横幅の指定を分離する必要があります。
2
2
 
3
3
  ```CSS
4
4
  /* 子要素である#roomや#gestにも50%が指定されてしまっている。 */
@@ -15,7 +15,7 @@
15
15
  }
16
16
  */
17
17
 
18
- /* 以下のように書き換え。 */
18
+ /* 以下のように書き換え。heightもどちらか片方に指定したほうがよさそうですが今回は触れません。 */
19
19
  .room,
20
20
  .gest {
21
21
  width: 50%;

2

追記しました。

2020/05/11 03:23

投稿

new1ro
new1ro

スコア4528

answer CHANGED
@@ -29,11 +29,12 @@
29
29
  ```
30
30
 
31
31
  ---
32
+ 元のソースコードだと、以下の.roomと#room両方に`width: 50%;`が指定されていました。
33
+
34
+ この場合、#idの横幅は、すでに全体の50%の横幅を指定されている.roomの、更に50%の横幅となるため、全体の横幅からすると25%になってしまいます。
35
+
32
- 理由について述べます。
36
+ ```HTML
37
+ <li class="room"><!-- 全体の50%の横幅 -->
38
+ <select id="room"><!-- .roomの50%の横幅 = 全体の25%の横幅 -->
33
39
  ```
34
- .gest,
35
- #gest {
36
- width: 50%;
40
+ そのため、#idには、親要素の横幅いっぱい = `width: 100%;`を指定する必要があります。
37
- height: 50px;
38
- }
39
- ```

1

修正

2020/05/11 03:22

投稿

new1ro
new1ro

スコア4528

answer CHANGED
@@ -1,22 +1,39 @@
1
1
  以下のように、横幅を分離する必要があります。
2
2
 
3
3
  ```CSS
4
- /* .roomの子要素である#roomにも50%が指定されてしまっている。 */
4
+ /* 子要素である#roomや#gestにも50%が指定されてしまっている。 */
5
5
  /*
6
6
  .room,
7
7
  #room{
8
8
  width: 50%;
9
9
  height: 50px;
10
10
  }
11
+ .gest,
12
+ #gest{
13
+ width: 50%;
14
+ height: 50px;
15
+ }
11
16
  */
12
17
 
13
18
  /* 以下のように書き換え。 */
19
+ .room,
14
20
  .gest {
15
21
  width: 50%;
16
22
  height: 50px;
17
23
  }
18
- #gest {
24
+ #gest,
25
+ #room {
19
26
  width: 100%;
20
27
  height: 50px;
21
28
  }
29
+ ```
30
+
31
+ ---
32
+ 理由について述べます。
33
+ ```
34
+ .gest,
35
+ #gest {
36
+ width: 50%;
37
+ height: 50px;
38
+ }
22
39
  ```