Flexbox - Elastyczność
flex-base
Używamy flex-basis właściwość, aby zdefiniować domyślny rozmiar elementu elastycznego przed dystrybucją miejsca.
Poniższy przykład ilustruje użycie właściwości flex-base. Tutaj tworzymy 3 kolorowe pudełka i ustalamy ich rozmiar na 150 px.
<!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>
To da następujący wynik -
flex-grow
Używamy flex-grow właściwość, aby ustawić flex-growczynnik. W przypadku nadmiaru miejsca w kontenerze określa, o ile powinien wzrosnąć dany element elastyczny.
<!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>
To da następujący wynik -
flex-shrink
Używamy właściwości flex-shrink, która służy do ustawiania flex shrink-factor. W przypadku, gdy w kontenerze nie ma wystarczającej ilości miejsca, określa, o ile element elastyczny powinien się zmniejszyć.
<!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>
To da następujący wynik -
zgiąć
Istnieje skrót do ustawiania wartości dla wszystkich tych trzech właściwości jednocześnie; to się nazywaflex. Korzystając z tej właściwości, można jednocześnie ustawić wartości flex-grow, flex-shrink i flex-base. Oto składnia tej właściwości.
.item {
flex: none | [ <'flex-grow'> <'flex-shrink'>? || <'flex-basis'> ]
}