【課題解説】Flexboxレイアウト1 | SkillhubAI(スキルハブエーアイ)

【課題解説】Flexboxレイアウト1

フレックスボックス課題の解説

こんにちは、今回はフレックスボックスのレイアウトを作成する課題について解説します。特に、「2123」というレイアウトの作成方法についてステップごとに説明していきます。


1. 初めに

まず、HTMLファイルとCSSファイルを準備しましょう。HTMLファイルは flex2.html、CSSファイルは flex2.css とします。

<!-- flex2.html -->
<!DOCTYPE html>
<html lang="ja">
<head>
    <meta charset="UTF-8">
    <meta name="viewport" content="width=device-width, initial-scale=1.0">
    <title>フレックスボックス課題</title>
    <link rel="stylesheet" href="flex2.css">
</head>
<body>
    <div class="container">
        <div class="item">アイテム1</div>
        <div class="item">アイテム2</div>
        <div class="item">アイテム3</div>
    </div>
    <div class="container2">
        <div class="item">アイテム4</div>
        <div class="item">アイテム5</div>
    </div>
</body>
</html>

/* flex2.css */
.container {
    display: flex;
    background-color: #f0f0f0;
    padding: 10px;
}

.item {
    padding: 10px;
    margin: 5px;
}

.item:nth-child(1) {
    background-color: orange;
    flex: 1;
}

.item:nth-child(2) {
    background-color: pink;
    flex: 2;
}

.item:nth-child(3) {
    background-color: yellow;
    flex: 1;
}

.container2 {
    display: flex;
    background-color: #e0e0e0;
    padding: 10px;
}

.container2 .item:nth-child(1) {
    background-color: green;
    flex: 1;
}

.container2 .item:nth-child(2) {
    background-color: blue;
    flex: 1;
}


2. ブラウザで確認

コードを書いたら、保存してブラウザで表示してみましょう。以下のように表示されるはずです。

+-----------------+------------------+-----------------+
|    アイテム1    |    アイテム2     |    アイテム3    |
+-----------------+------------------+-----------------+

+-------------------+-------------------+
|    アイテム4      |    アイテム5      |
+-------------------+-------------------+

アイテム1アイテム2アイテム3 はそれぞれ 1:2:1 の割合で表示され、アイテム4アイテム51:1 の割合で表示されています。


3. CSSの詳細設定

次に、CSSファイルでスタイルを詳細に設定していきます。display: flex; を使って要素をフレックスコンテナとして設定します。また、各アイテムの背景色やフレックスの割合も設定します。

.container {
    display: flex;
    background-color: #f0f0f0;
    padding: 10px;
}

.item {
    padding: 10px;
    margin: 5px;
}

.item:nth-child(1) {
    background-color: orange;
    flex: 1;
}

.item:nth-child(2) {
    background-color: pink;
    flex: 2;
}

.item:nth-child(3) {
    background-color: yellow;
    flex: 1;
}

.container2 {
    display: flex;
    background-color: #e0e0e0;
    padding: 10px;
}

.container2 .item:nth-child(1) {
    background-color: green;
    flex: 1;
}

.container2 .item:nth-child(2) {
    background-color: blue;
    flex: 1;
}


4. フレックスボックスの理解

フレックスボックスを使用することで、アイテムがコンテナ内で柔軟に配置されます。各アイテムのフレックス値 (flex: 1, flex: 2 など) により、スペースの分配が簡単にコントロールできます。

+--------+------------+--------+
| Item 1 |   Item 2   | Item 3 |
+--------+------------+--------+
|  flex: 1 |  flex: 2  | flex: 1 |
+--------+------------+--------+

+--------+--------+
| Item 4 | Item 5 |
+--------+--------+
|  flex: 1 |  flex: 1 |
+--------+--------+


5. まとめ

これで、フレックスボックスを利用したレイアウトを実現することができました。今回のポイントは、「アイテムを入れ子にして、さらにその中でもフレックスボックスを使用する」という点です。

もしうまくいかない場合は、もう一度コードを見直してみてください。該当の箇所を確認することで、解決するはずです。

以上で課題の解説を終わります。ぜひ、実際に手を動かして試してみてください。

  +---+---+---+
  | 1 | 2 | 1 |
  +---+---+---+

タイムスタンプ

1 00:00:02,180 --> 00:00:09,009 さあ課題いきましょうか8ですね

2 00:00:05,960 --> 00:00:12,719 まず先ほどの

3 00:00:09,009 --> 00:00:17,500 これですねか台場へコンテナー

4 00:00:12,720 --> 00:00:20,450 2123まぁこんなレイアウトをつくってみましょうということなんでこれを見ながら

5 00:00:17,500 --> 00:00:23,240 進めていきましょう

6 00:00:20,449 --> 00:00:30,189 ではまず

7 00:00:23,239 --> 00:00:30,189 見栄えを作ります保存してレックス2. htm

8 00:00:30,500 --> 00:00:35,859 で

9 00:00:31,370 --> 00:00:39,270 をフレックス作ってますね ca 雪もね

10 00:00:35,859 --> 00:00:40,409 ブレックス2. css

11 00:00:39,270 --> 00:00:49,160 ですね

12 00:00:40,409 --> 00:00:52,399 じゃあ html の方に行きまして html でここもうすぐ訓練ちゃいますね

13 00:00:49,159 --> 00:00:54,679 自分のクラスの

14 00:00:52,399 --> 00:00:57,489 ディ分の+の

15 00:00:54,679 --> 00:00:57,490 墾丁

16 00:00:58,079 --> 00:01:08,579 てって目でこの間には自分のクラスの

17 00:01:03,850 --> 00:01:08,579 ait m 1ですねアイテム1

18 00:01:08,810 --> 00:01:17,299 アイテム市と

19 00:01:11,069 --> 00:01:20,379 まぁこんな感じになって言ってアイテムにアイテムさんと続いていると思います

20 00:01:17,299 --> 00:01:25,179 アイテムにのアイテムさん

21 00:01:20,379 --> 00:01:27,530 ねここまでで同型まずは者ブラウザで見てみましょうか

22 00:01:25,180 --> 00:01:31,040 オープニング other

23 00:01:27,530 --> 00:01:33,349 こうできましたちょっとじゃあこれも

24 00:01:31,040 --> 00:01:36,710 左右に並べましょうか

25 00:01:33,349 --> 00:01:39,709 ねこんな感じで123できましたね

26 00:01:36,709 --> 00:01:44,298 今回はこの中を見てみると

27 00:01:39,709 --> 00:01:46,769 コンテナにがあって入ってみれ4とアイテム子があります

28 00:01:44,299 --> 00:01:51,510 これアイテムにの中にありますね

29 00:01:46,769 --> 00:01:53,049 なのでここということになりますでしょうか

30 00:01:51,510 --> 00:01:56,770 効果が

31 00:01:53,049 --> 00:01:58,739 でここは自分のクラスの

32 00:01:56,769 --> 00:01:59,810 akon

33 00:01:58,739 --> 00:02:02,979 てぇな

34 00:01:59,810 --> 00:02:03,969 のにっ

35 00:02:02,980 --> 00:02:08,368 てい

36 00:02:03,969 --> 00:02:11,870 この中にはアイテムですねアイテムを

37 00:02:08,368 --> 00:02:13,080 入れてアイテム4

38 00:02:11,870 --> 00:02:14,259 アイテム

39 00:02:13,080 --> 00:02:17,490 4棟

40 00:02:14,259 --> 00:02:18,429 で次はアイテム5

41 00:02:17,490 --> 00:02:19,689 開いてい

42 00:02:18,430 --> 00:02:24,659 5

43 00:02:19,689 --> 00:02:28,500 でアイテム5分これじゃブラウザを更新してみると

44 00:02:24,659 --> 00:02:35,189 マーニーの中日本語が入っているような感じになりましたね

45 00:02:28,500 --> 00:02:36,659 では css を書いていきましょう推せ妻がリンクしてないのでリングで8

46 00:02:35,189 --> 00:02:41,969 フレックスつ

47 00:02:36,659 --> 00:02:43,250 さっき作ったフレックス党と css をリンクさせますじゃあここに変えていき

48 00:02:41,969 --> 00:02:44,370 ましょう

49 00:02:43,250 --> 00:02:48,699 では

50 00:02:44,370 --> 00:02:50,890 えーとこれでお米としてはちょっと並べてみましょうか

51 00:02:48,699 --> 00:02:51,969 うんとこんな感じかな

52 00:02:50,889 --> 00:02:55,379 で

53 00:02:51,969 --> 00:02:57,949 下には cso を

54 00:02:55,379 --> 00:02:57,949 ゆう所

55 00:02:58,139 --> 00:03:02,299 思って食べのここに

56 00:03:00,789 --> 00:03:08,299 高価なの

57 00:03:02,300 --> 00:03:10,500 これで上下に並んでこれはビューのレイアウトの中で分けられるんですね

58 00:03:08,300 --> 00:03:16,010 これでやってみてください

59 00:03:10,500 --> 00:03:19,439 まああああとじゃあ行きますね.実際所ココのコンティなんだとか

60 00:03:16,009 --> 00:03:23,489 ドット本っていうのはわー

61 00:03:19,439 --> 00:03:28,340 えっとディスプレイが flex にします

62 00:03:23,490 --> 00:03:38,159 で更新すると横並びになってくれますよねうん

63 00:03:28,340 --> 00:03:42,330 じゃあ色をつけていきましょうか. item 1でバックグランドがここオレンジ

64 00:03:38,159 --> 00:03:44,449 出会いてミートアイテムさんも入れていきましょう

65 00:03:42,330 --> 00:03:49,950 アイテム兄が

66 00:03:44,449 --> 00:03:53,649 どんなにいるでしたっけここはピンクかなピンクでアイテムさんが

67 00:03:49,949 --> 00:03:55,030 8ポコがイエロ

68 00:03:53,650 --> 00:03:58,539 ですね

69 00:03:55,030 --> 00:04:05,330 行うとこういうのができました

70 00:03:58,539 --> 00:04:09,530 で割合を見るとさっきのは1対2位対1になってますので

71 00:04:05,330 --> 00:04:12,630 ではフレックスが1

72 00:04:09,530 --> 00:04:16,769 でここがフレックスがに

73 00:04:12,629 --> 00:04:20,350 大1 ok これでどうでしょうか

74 00:04:16,769 --> 00:04:26,529 アルドン1対2位対1になってますね

75 00:04:20,350 --> 00:04:33,169 じゃあ今度はこの中実に5年してみるというとこのディヴコンテナからここまで猫て夏

76 00:04:26,529 --> 00:04:36,979 これも書いてみましょうこれは a not ずっとっ

77 00:04:33,168 --> 00:04:40,969 かジェイドと今ってな2話

78 00:04:36,980 --> 00:04:41,430 えっとディスプレイがフレックス

79 00:04:40,970 --> 00:04:44,490 ねっ

80 00:04:41,430 --> 00:04:48,280 この中身フレックス制させないといけないので

81 00:04:44,490 --> 00:04:50,860 これでで割合アイテム

82 00:04:48,279 --> 00:04:54,369 さんと相手目4

83 00:04:50,860 --> 00:04:58,300 の相手ミョンとアイテム子ですね

84 00:04:54,370 --> 00:05:02,060 アイテム4とアイテムこの割合は一台一

85 00:04:58,300 --> 00:05:05,750 バック&がグリーンとブルー書いてみますよ

86 00:05:02,060 --> 00:05:07,449 ここで. item

87 00:05:05,750 --> 00:05:08,649 4

88 00:05:07,449 --> 00:05:12,180 は

89 00:05:08,649 --> 00:05:14,909 8バッグ&がグリーン

90 00:05:12,180 --> 00:05:16,350 で割合がプレックスが

91 00:05:14,910 --> 00:05:18,000 1

92 00:05:16,350 --> 00:05:22,409 ですね

93 00:05:18,000 --> 00:05:25,319 それとアイテム後は

94 00:05:22,408 --> 00:05:29,159 ここはブルーブルーレ

95 00:05:25,319 --> 00:05:32,279 1これどうでしょここで

96 00:05:29,160 --> 00:05:33,780 をなりました

97 00:05:32,279 --> 00:05:39,209 これで

98 00:05:33,779 --> 00:05:40,739 先ほどの課題のレイアウトねあの高さはちょっと違いますけれどもこれ高さも自分に

99 00:05:39,209 --> 00:05:47,239 なってしまいますので

100 00:05:40,740 --> 00:05:49,590 と違いますけれども同じレイアウトをね実現することができました

101 00:05:47,240 --> 00:05:56,319 行動はこんな感じ

102 00:05:49,589 --> 00:05:57,799 今回のポイントはまあアイテム2の中に入れ子にしてさらにそのアイテムつの中に

103 00:05:56,319 --> 00:06:03,199 フレックス

104 00:05:57,800 --> 00:06:07,430 がフレックスボックスがあったということですね皆さんうまくできましたでしょうか

105 00:06:03,199 --> 00:06:10,490 うまくいかなかった人は今のコード一緒にねはいてみて

106 00:06:07,430 --> 00:06:14,079 で実践してみましょう

107 00:06:10,490 --> 00:06:14,079 それでは課題を終わります

====