LoginSignup
0
0

More than 3 years have passed since last update.

Flexboxを自由に操ってジョージア国旗を作ってみました。

Last updated at Posted at 2021-04-26

Flexboxを使って国旗を作る
ジョージア国旗

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

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

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

ここまで出来たらcodeを書いていきます♪ ※head部分は省略


<div class="georgia">
      <div class="gia">
        <div class="georgia1"></div>
        <div class="georgia2"></div>
        <div class="georgia1"></div>
      </div>
      <div class="gia">
        <div class="georgia1"></div>
        <div class="georgia2"></div>
        <div class="georgia1"></div>
      </div>
      <div class="gia">
        <div class="georgia1"></div>
        <div class="georgia2"></div>
        <div class="georgia1"></div>
      </div>
      <div class="gia">
        <div class="georgia1"></div>
        <div class="georgia2"></div>
        <div class="georgia1"></div>
      </div>   
  </div>
.georgia {
  width: 500px;
  height: 300px;
  background-color: red;
  border: 1px solid black;
  margin: 200px auto;
}

.gia {
  width: 220px;
  height: 125px;
  background-color: pink;
}

この状態で一旦ブラウザで確認 ↓

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


.georgia {
  width: 500px;
  height: 300px;
  background-color: red;
  border: 1px solid black;
  margin: 200px auto;

  display: flex; ※追加
  flex-wrap: wrap; ※追加
  justify-content: space-between; ※追加
  align-content: space-between; ※ 追加
}

display: flex;を使って、4個の<div>を上下左右に納めました。

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

.georgia1 {
  width: 40px;
  height: 20px;
  background-color: orange;
}

.georgia2 {
  width: 20px;
  height: 80px;
  background-color: aquamarine;
}

ピンク部分
赤い十字を作っていきます ↓


.georgia1 { ※追加
  width: 40px;
  height: 20px;
  background-color: orange;
}

.georgia2 { ※追加
  width: 20px;
  height: 80px;
  background-color: aquamarine;
}

ピンクのボックスに3個の<div>の箱を作ります。
解りやすいように色を付けています

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

上記の3個にdisplay: flex;を付けます

.gia {
  width: 220px;
  height: 125px;
  background-color: pink;

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

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

最後に、色を整えてあげたら完成です。

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

まとめ

大きい『赤十字』を作成するのに、最初は赤い十字を作りましたが
「小さい赤十字」を上手に作成できなかったので、
赤をベースに白い箱を作り、そこにFlexboxをつけました。

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

0
0
0

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