すでにメンバーの場合は

無料会員登録

GitHubアカウントで登録 Pikawakaが許可なくTwitterやFacebookに投稿することはありません。

登録がまだの方はこちらから

Pikawakaにログイン

GitHubアカウントでログイン Pikawakaが許可なくTwitterやFacebookに投稿することはありません。

【Flexbox】問題1の解答

この記事で出来るようになること

問題

Flexboxを使って枠線の中に縦で並んでいる「赤色の円」「黄色の円」「青色の円」を横に並べてください。

See the Pen css individual work flexbox q1 by miyagit (@miyagit) on CodePen.

[ 見本 ]

Flex問題1の見本

解答

解答コード

HTML
1
2
3
4
5
<div class="signal">
  <div class="red"></div>
  <div class="yellow"></div>
  <div class="blue"></div>
</div>
CSS
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
.signal {
  display: flex;
  border: 1px solid;
  width: 150px;
}

.red {
  width: 50px;
  height: 50px;
  background-color: red;
  border-radius: 9999px;
}

.yellow {
  width: 50px;
  height: 50px;
  background-color: yellow;
  border-radius: 9999px;
}

.blue {
  width: 50px;
  height: 50px;
  background-color: blue;
  border-radius: 9999px;
}

解説

Flexboxを使って要素を横並びにするには、要素を配置させるための「Flexコンテナ」という領域を作る必要がありましたね。

FlexコンテナとFlexアイテム

Flexコンテナを作るには、Flexboxを使って配置したい領域の要素に対して、display: flex を指定する必要があります。

各信号の要素をFlexboxを使って配置したいので、その親要素の .signal 要素に display: flex を指定しましょう。

CSS
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
.signal {
display: flex;
border: 1px solid; width: 150px; } .red { width: 50px; height: 50px; background-color: red; border-radius: 9999px; } .yellow { width: 50px; height: 50px; background-color: yellow; border-radius: 9999px; } .blue { width: 50px; height: 50px; background-color: blue; border-radius: 9999px; }

.signal 要素に display: flex を指定させたことで、その子要素は横並びになりましたね。

Flex問題1の見本

「Flexコンテナ」の 子要素は自動的に「Flexアイテム」になる ため、横並びになるわけです。

Flexアイテム

ぴっかちゃん

横並びさせたい要素の親要素のdisplayプロパティ値をflexにすると覚えておこう!