第3週コードセグメント/Filexbox(CSS)
✏️Achievement Goals / CSS
Flexboxを使用してレイアウトを作成できます.
方向:flex-direction
どのくらい増加しますか?:flex-grow
どれくらいの大きさですか.flex-basis
水平位置揃え:justify-content
垂直位置揃え:align-items
📝summary
レイアウトのリセット
HTMLドキュメントには、次のような既定のスタイルがあります.
レイアウトの作成にも支障をきたす
(0,0)の位置から始めたいと思います.
<body>
ラベルの基本スタイルにはいくつかの空白があります.width,height計算はマージンを含まず計算が困難である
数行のコードを適用すると、デフォルトのスタイルを削除し、設計に従ってレイアウトを実現できます.
* {
box-sizing: border-box;
}
body {
margin: 0;
padding: 0;
}
Flexとは?
Flexible Box、Flexboxとも呼ばれます
Flexはレイアウト配置にのみ使用されます.
レイアウトの作成時に使用するfloatまたは
Inline blockなどの従来方式に比べて、より良い機能がたくさんあります
<div class="container">
<div class="item">Flex Item</div>
<div class="item">Flex Item</div>
<div class="item">Flex Item</div>
</div>
Flex Container(플렉스 컨테이너)
:親要素div.containerFlex Item(플렉스 아이템)
:サブエレメントdiv.itemflexのプロパティ
容器に適した属性、物品に適した属性の2種類に分けられます
1.コンテナに適用される属性
1)
display: flex
:サブボックスの方向と大きさを決める.container {
display: flex;
}
レイアウト設定方法では、サブボックスの方向とサイズを決定します.デフォルトでは、display:flexが適用する親ボックスのサブ要素は左から右に順に配置されます.
自分の持っているコンテンツだけを占めるwidthは、inline要素のように、
Heightはコンテナの高さと同じように増加します
2)
flex-direction
:Flex要素配向.container {
flex-direction: row; // 왼쪽부터 오른쪽으로 정렬
flex-direction: column; // 세로로 정렬
flex-direction: row-reverse; // 오른쪽부터 왼쪽으로 정렬
flex-direction: column-reverse; // 밑부터 위로 정렬
}
2.Flexプロジェクトに適用される属性サブボックスに属性を指定しない場合は、
左から右にコンテンツサイズで配置します.
サブエレメントのflexプロパティを追加しない場合は、デフォルト値を適用します.
flex: 0 1 auto;
flex: <grow> <shrink> <basis>
//grow(팽창 지수), shrink(수축 지수), basis(기본 크기)
1)flex-basis
:Flexアイテムのデフォルトサイズ設定サブボックスがflex-growまたはflex-schurnの引張りまたは収縮前にデフォルトのサイズflex-growが0の場合、baseサイズを指定してサイズを維持します.
.item {
flex-basis: auto; /* 기본값 */
/* flex-basis: 0; */
/* flex-basis: 50%; */
/* flex-basis: 300px; */
/* flex-basis: 10rem; */
/* flex-basis: content; */
}
2)flex-grow
:flex-basicの値を大きくすることができるかどうか、数字の値を書きます0より大きい値を設定すると、そのアイテムはフレキシブルボックスになり、元のサイズより大きくなり、空白を埋める
flex-growプロパティに適用される値はパーセントを意味します
.item {
flex-grow: 1;
//flex-grow: 0; 기본값
}
最初のサブクラスでflex-growプロパティの値を1に設定します.最初のサブボックスは、親ボックスの横の長さで、残りの空白領域が増加します.
flex-growプロパティの値を1に設定すると、すべてのボックスが大きくなります.
だからすべての箱には同じ割合の横長があります.
3)
flex-shrink
:flex-basedの値を小さくできるかどうか、数字の値を書く0より大きい値を設定すると、そのアイテムはフレキシブルボックスになり、元のサイズより大きくなり、空白を埋める
.item {
flex-basis: 150px;
flex-shrink: 1; /* 기본값 */
기본값이 1이기 때문에 따로 세팅하지 않았어도
아이템이 flex-basis보다 작아질 수 있다
}
flex-sriftを0に設定すると、プロジェクトのサイズはflex-basesより大きくなります.小さくならないので、固定幅にしやすく、固定サイズをwidthに設定
align-items
:垂直に並べたもの.item {
align-items: auto;
align-items: stretch; // 컨테이너에 맞게 늘림
align-items: flex-start; // 최상단으로 정렬
align-items: flex-end; // 최하단으로 정렬
align-items: center; // 중앙으로 정렬
align-items: baseline; // 컨테이너의 시작위치에 정렬
}
justify-content
:物を水平に並べる.item {
justify-content: flex-start //왼쪽으로 정렬
justify-content: flex-end //오른쪽으로 정렬
justify-content: center // 중앙정렬
justify-content: space-between //요소들 사이에 동일간격둠
}
Reference
この問題について(第3週コードセグメント/Filexbox(CSS)), 我々は、より多くの情報をここで見つけました https://velog.io/@support/코드스테이츠-3주차-CSS-Flexboxテキストは自由に共有またはコピーできます。ただし、このドキュメントのURLは参考URLとして残しておいてください。
Collection and Share based on the CC Protocol