😁
【CSS】Flexboxのいろは
Flexbox、便利じゃね?
最近CSSの勉強をしています。
というのもフロントエンドの技術が足りないなぁと思い、Webデザインの勉強をしているからです。
ProgateでHTML&CSSの講座を一通りやったのですが、
Flexboxがかなり便利だったので知っている限りの色んなFlexboxを紹介していきます。
以下のようなHTMLを想定します。
※parent→親要素、child→子要素
<div class="parent">
<div class="child ch1">Child 1</div>
<div class="child ch2">Child 2</div>
<div class="child ch3">Child 3</div>
<div class="child ch4">Child 4</div>
</div>
横並び
横幅を気にせず単純に横並びにしたいとき。
.parent {
display:flex;
}
displayプロパティ
- block : ブロック要素として扱う。縦に並ぶ。
- inline : インライン要素として扱う。横に並ぶ(インライン→「1行の中に」の意?)
- inline-block : インラインブロック要素として扱う。横に並び、幅や高さを指定できる。
- none : 要素を非表示にする。
- flex : 通常縦並びのところを横並びにできる。
折り返し
子要素の幅に応じて折り返したいとき。
.parent {
flex-wrap:wrap;
}
.child {
/* 2個ごとで折り返したい場合は、100%/ 2個 = 50%を指定。*/
width:50%;
}
flex-wrapプロパティ
- nowrap : 初期値。折り返されずに表示される。
- wrap : 複数行に折り返して表示する。
- wrap-reverse : 複数行に、逆順で折り返して表示する。
順序
要素の並び順を変えたいとき
.ch1 { order:2; }
.ch2 { order:4; }
.ch3 { order:1; }
.ch4 { order:4; }
orderプロパティ
- 整数値のみ指定可能。つまり負の数もOK。
- 同じ親要素の中で、orderの値が小さい順に左(もしくは上)から表示される。
まとめ
レスポンシブデザインの作成に使えそうです。
実際に使えるように今から練習します。
参考
- [https://saruwakakun.com/html-css/basic/display](【CSS】displayの使い方を総まとめ!inlineやblockの違いは? | サルワカ )
- [https://dekiru.net/article/13234/](flex-wrapプロパティの意味と使い方 | できるネット)
Discussion