Flexbox-flexibility
提供:Dev Guides
Flexbox-柔軟性
フレックスベース
*flex-basis* プロパティを使用して、スペースが分配される前にflex-itemのデフォルトサイズを定義します。
次の例は、flex-basisプロパティの使用方法を示しています。 ここでは、3つの色付きボックスを作成し、サイズを150ピクセルに固定しています。
<!doctype html>
<html lang = "en">
<style>
.box{
font-size:15px;
padding:15px;
}
.box1{background:green; flex-basis:150px; }
.box2{background:blue; flex-basis:150px;}
.box3{background:red; flex-basis:150px;}
.container{
display:flex;
height:100vh;
align-items:flex-start;
}
</style>
<body>
<div class = "container">
<div class = "box box1">One</div>
<div class = "box box2">two</div>
<div class = "box box3">three</div>
</div>
</body>
</html>
それは次の結果を生成します-
フレックス成長
*flex-grow* プロパティを使用して *flex-grow* 係数を設定します。 コンテナ内に余分なスペースがある場合、特定のflex-itemがどれだけ成長するかを指定します。
<!doctype html>
<html lang = "en">
<style>
.box{
font-size:15px;
padding:15px;
}
.box1{background:green; flex-grow:10; flex-basis:100px; }
.box2{background:blue; flex-grow:1; flex-basis:100px; }
.box3{background:red; flex-grow:1; flex-basis:100px; }
.container{
display:flex;
height:100vh;
align-items:flex-start;
}
</style>
<body>
<div class = "container">
<div class = "box box1">One</div>
<div class = "box box2">two</div>
<div class = "box box3">three</div>
</div>
</body>
</html>
それは次の結果を生成します-
フレックス収縮
flex shrink-factor の設定にはflex-shrinkプロパティを使用します。 コンテナ内に十分なスペースがない場合、フレックスアイテムをどのくらい縮小するかを指定します。
<!doctype html>
<html lang = "en">
<style>
.box{
font-size:15px;
padding:15px;
}
.box1{background:green; flex-basis:200px; flex-shrink:10}
.box2{background:blue; flex-basis:200px; flex-shrink:1}
.box3{background:red; flex-basis:200px; flex-shrink:1}
.container{
display:flex;
height:100vh;
align-items:flex-start;
}
</style>
<body>
<div class = "container">
<div class = "box box1">One</div>
<div class = "box box2">two</div>
<div class = "box box3">three</div>
</div>
</body>
</html>
それは次の結果を生成します-
flex
これら3つのプロパティすべてに値を一度に設定するための略記があります。 flex と呼ばれます。 このプロパティを使用して、値をflex-grow、flex-shrink、およびflex-basisの値に一度に設定できます。 このプロパティの構文は次のとおりです。
.item {
flex: none | [ <'flex-grow'> <'flex-shrink'>? || <'flex-basis'> ]
}