Flexbox - Esneklik
esnek tabanlı
Kullanıyoruz flex-basis alan dağıtılmadan önce esnek öğesinin varsayılan boyutunu tanımlama özelliği.
Aşağıdaki örnek, flex-base özelliğinin kullanımını gösterir. Burada 3 renkli kutu oluşturuyoruz ve boyutlarını 150 piksele sabitliyoruz.
<!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>
Aşağıdaki sonucu verecektir -
esnek büyüme
Kullanıyoruz flex-grow özelliği ayarlamak için flex-growfaktör. Kapta fazla alan olması durumunda, belirli bir esnek öğenin ne kadar büyümesi gerektiğini belirtir.
<!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>
Aşağıdaki sonucu verecektir -
esnek küçültmek
Esnekliği ayarlamak için kullanılan flex-shrink özelliğini kullanıyoruz shrink-factor. Kapta yeterli alan olmaması durumunda, bir flex öğenin ne kadar küçültmesi gerektiğini belirtir.
<!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>
Aşağıdaki sonucu verecektir -
esnek
Bu üç özelliğin hepsine aynı anda değer atamak için bir kısaltma vardır; denirflex. Bu özelliği kullanarak, aynı anda esnek büyütme, esnek küçültme ve esnek temelli değerler için değerler ayarlayabilirsiniz. İşte bu özelliğin sözdizimi.
.item {
flex: none | [ <'flex-grow'> <'flex-shrink'>? || <'flex-basis'> ]
}