🐼 Flex-box
🌎 Flex
1) Flex container
2) Flex items
コンセプトアレンジ
容器のwidth heightが単独で設定されていない場合
これをitemの対応する部分のwidthheightに追加し、ground paddingを適用して幅と高さを作成します.
🌕 Flexコンテナのプロパティ
1. display
1)display:flex=>垂直、横最大
2)display:inline-flex=>水平、水平、最小
2. flex-direction
1)Default(Row):左から右へ
2)Row-reverse:右から左へ
3)column:上から下へ
4)column-reverse:下から上へ
3. flex-wrap
1)nowrap:親コンテンツサイズと比較して、子コンテンツサイズの和は親コンテンツサイズより大きいが、親コンテンツ内で次の行に移動するのではなく、サイズに従って処理する(デフォルト:フレームワークに無理に合致)=>flex-surchは1であるためdefault
2)wrap:親の内容によってサイズが足りない場合は、次の行で描きます.(できればこれをお勧めします)
3) wrap-reverse
4. justify-content
1)Flex Start:左揃え
2)Flex end:右揃え
3)センター:左右中央揃え
4)space-twon:間の余白
5)space-around:間+両端にも余白がある
6)stretch:埋め尽くす(デフォルト)
5. align-content
2)Flex end:下揃え
3)センター:上下揃え
4)space-tween:上部と下部のスペースがなく、各スペースは余分です
5)space-andround:上部と下部のスペースを含む各スペースは余分です
6)stretch:埋め尽くす(デフォルト)
交差軸の位置合わせ(縦横)
使用できるのは、Itemsが複数行(2行以上)で余白がある場合のみです
=>flex-wrap:wrapの場合有効
6. align-items
2)Flex end:下揃え
3)センター:上下揃え
4)stretch:埋め尽くす(デフォルト)
5)ベースライン:アルファベット順
align-コンテンツとalign-アイテムの関係(重要)
Itemsがflex-wrapの複数行(2行以上)である場合、align-contentプロパティが優先されます.
したがって、align-itemsを使用するには、align-contentプロパティをデフォルト値(stretch)に設定する必要があります.
line-height
itemのテキストの垂直位置合わせの代わりに幅と高さを使用
おすすめはwidthとline-height
align-itemsとalign-コンテンツの違い
align-items(ソート):flex lineに基づいてプロジェクトをソートします.
align-content(対):flex lineをソートします.
flex/flex-inlineの例
ex)flex例
ex)inline-flex例
🌕 Flex 아이템 속성
- flex-grow
- flex-shrink
- flex-basis
- order
- align-self
7. flex-grow
デフォルト:0
-
主軸上の各項目の幅を除いた余剰空間の余白を比例して埋める
(itemのwidthの和がcontainer以上であれば、満タンになると何も入ることはありません) -
すべてのコンテナを幅パーセントで埋めます
width以外の部分を指定します.
1:2:1(width+1:width+2:width+1) -
widthがない場合はautoを用いて増分幅を別々に処理
1:2:1(1:2:1)
可変長については、画面領域が縮小または増大したときの固定項目サイズと可変長に分けることができる.
<div class="container">
<div class="item">고정</div>
<div class="item">가변</div>
<div class="item">고정</div>
</div>
<style>
.container{
display:flex
}
.item{
width:100px;
height:100px;
background-color: tomato;
border : 3px solid;
}
.item:nth-child(2){
flex-grow:1;
}
</style>
このようにwidthを変更すると、固定部分を一定に保ち、可変widthのみを変更することができる.
8. flex-shrink
デフォルト:1
- 0であれば幅を減らす比率はありません.
9. flex-basis
デフォルト:auto
- 要素の既定の幅を設定
autoでない場合はwidthは適用されません.
10. order 속성
デフォルト:0
- 正負どちらでもよい
数字が小さいほど、優位に立つ.
11. align-self
デフォルト:auto
- 個別項目の交差軸定理
flex 단축키
flex-grow/flex-sch/flex-baseを一度に書き込むことができます、
flex : 1
に設定されている場合、flex-basedが異なるため、flex : 1 1 auto
とは異なります.
item간 여백 만들기
- すべて空白:右ピッチ
を指定- 2
である..item:last-child
物品の最後の部分に限る:rightは0
+a
flex | grid | grid|||||||||||||||||||||||||||||||||
---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
td> | td>td> | td>td>td>td>td>td>td>td>td>t> td>td> | td>td> | td>td> | td>itemsベースのクロス軸整列 | コンテナ標準クロス軸整列 | itemsそれぞれクロス軸整列 | |
flexのalign-content、align-itemsは1行か2行かしか区別されません
grid-template-areas와 grid-row grid-column
状況と好みの違い
Grid-template-areasは完全なGrid構造のCSSコードを提供するが
Grid Itemごとに名前を付けるのは不便です
メンター:grid-rowとgrid-columnのほうが好きです.
spanキーワード拡張の概念を使用すると、いくつかのGrid Itemの値を指定するだけで構造を作成できるので、非常に便利です
출처
Reference
この問題について(🐼 Flex-box), 我々は、より多くの情報をここで見つけました https://velog.io/@khw970421/Flex-box-총정리テキストは自由に共有またはコピーできます。ただし、このドキュメントのURLは参考URLとして残しておいてください。
Collection and Share based on the CC Protocol