LoginSignup
0
0

More than 3 years have passed since last update.

Flexboxを使ってフィンランド国旗を作りました!

Last updated at Posted at 2021-04-20

Flexboxを使って国旗を作る
今回はフィンランド国旗

スクリーンショット (40).png

目標:Flexboxの基礎を理解するため
テキストエディターはVSCode.
↓下記のFlexboxチートシートを参考
Css Flexboxのチートシート

~codeを書き始める前の準備~
・構成を考える! 何をどんな風に、どうやって作るのか?
 最初にある程度決めておくと後が楽になります。
 例 フィンランドの国旗を調べる
   <div>は何個必要なのか?
   class属性名はどうしようか?
   

・紙とペンで実際に枠を書いてみる(添付画像 準備出来次第掲載)
ここまで出来たらcodeを書いていきます♪ ※head部分は省略

<div class="finland">
      <div class="fin">
          <div class="finland1 finland4">しかく4</div>
          <div class="finland1 finland2">しかく2</div> 
          <div class="finland1 finland3">しかく3</div>
      </div>
    </div>
.finland {
  width: 700px;
  height: 500px;
  border: 1px solid black;
  margin: 500px auto;
}

.fin {
  width: 450px;
  height: 300px;
  background-color: white;
  border: 1px solid black;
}

.finland1 {
  width: 50px;
  height: 50px;
  background-color: blue;
}

.finland2 {
  height: 100%;
}

上記の状態を一旦ブラウザで確認 ↓

スクリーンショット (35).png

.finland {
  width: 700px;
  height: 500px;
  border: 1px solid black;
  /* background-color: aqua; */
  margin: 500px auto;

  display: flex; 
  justify-content: center; ※
  align-items: center; ※
}

大枠のクラスにdisplay: flex; を付けてみます

スクリーンショット (36).png

display: flex; で大枠をセンターにしました
次に、青い部分をdisplay: flex; にします

.fin {
  width: 450px;
  height: 300px;
  background-color: white;
  border: 1px solid black;

  display: flex; 
  align-items: center; ※
}

スクリーンショット (37).png

.finland4 {
  flex-grow: 1.5; 
}
.finland2 {
  height: 100%;
  flex-grow: .5; ※
}
.finland3 {
  flex-grow: 8; ※
}

スクリーンショット (38).png

フィンランド国旗完成です!
青いと解りづらいので、青い部分の色を変えてみます。

.finland1 {
  width: 50px;
  height: 50px;
  /* background-color: blue; */ 
}

.finland4 {
  background-color: pink; ※
  flex-grow: 1.5;
}
.finland2 {
  background-color: blue; 
  height: 100%;
  flex-grow: .5;
}
.finland3 {
  background-color: yellowgreen; ※
  flex-grow: 8;
}

スクリーンショット (39).png

色を変えてフィンランド国旗になりました。

まとめ

display: flex を上手に挙動させるためには、
『親要素』と『子要素』をきちんと把握することが大切だと感じてます。
また、『親要素』にはFlexコンテナー。 
『子要素』にはFlexアイテム。

理解することが難しいですが、一個、一個理解していけば必ず完成します。

今回は以上です
ありがとうございます!!

0
0
3

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
0
0