Merhabalar.

Bu yazımda Items için flex-grow özelliklerine bakacağız.

Projemiz bir önceki yazımızdan devam ettiği için öncelikle o yazımı okumanızı tavsiye ederim.

Bir önceki yazılarımda anlatılan flex özellikleri, kapsayıcıya aitti. Birde içindeki öğeler için esnek yapıda neler yapabiliyoruz, onlara bakalım.

Burada bahsedeceğimiz özelliklerin nasıl gözüktüğünü daha iyi anlayabilmek için öncelikle kodlarımızda şu güncellemeleri yapalım.

index.html

<!DOCTYPE html>
<html lang="en">
<head>
    <meta charset="UTF-8">
    <meta name="viewport" content="width=device-width, initial-scale=1.0">
    <title>Document</title>
    <link rel="stylesheet" href="flexbox.css">
</head>
<body>
    
    <h1>Container 1</h1>

    <div class="container1">

        <div class="box box1" >Box 1</div>
        <div class="box box2" >Box 2</div>
        <div class="box box3" >Box 3</div>
        <div class="box box4" >Box 4</div>
        <div class="box box5" >Box 5</div>

    </div>

    <div class="divider"></div>

    <h1>Container 2</h1>

    <div class="container2">

        <div class="box box1" >Box 1</div>
        <div class="box box2" >Box 2</div>
        <div class="box box3" >Box 3</div>
        <div class="box box4" >Box 4</div>
        <div class="box box5" >Box 5</div>
       
        
    </div>

    <script src="flexbox.js"></script>

</body>
</html>

flexbox.css

body{
    margin: 0;
    padding: 0;
    font-family: sans-serif;
    padding: 30px;
}   

.box{
    width: 400px;
    height: 100px;
    background-color: #ccc;
    font-size: 20px;
    text-align: center;
    line-height: 100px;
    border-radius: 20px;
    margin-bottom: 5px;
}

.divider{
    height: 40px;
}

.container1{
    padding: 10px;
    height: 700px;
    background-color: #21b5da;
    display: flex;
    flex-flow: row wrap;
    
}

.container2{
    background-color: #9bdff1;
    padding: 10px;
    height: 950px;
    display: flex;
    flex-flow: column wrap;
    
}

.box1{

    
}

.box2{
    
}

.box3{
    
}

.box4{
    
}

.box5{
    
}

Şu anki güncellemelerimiz sonrası uygulama aşağıdaki gibi gözüküyor.

flex-grow Özelliği

flex-grow özelliği, CSS Flexbox modelinde kullanılan bir özelliktir. Bu özellik, bir flex öğesinin, container içindeki diğer flex öğeleri arasında nasıl büyüyeceğini belirler.

.item {
  flex-grow: 1; /* Öğenin büyüme faktörü */
}

Bu örnekte, flex-grow özelliği, 1 değeri ile ayarlanmıştır. Bu, öğenin diğer flex öğeleriyle orantılı olarak büyümesini sağlar. flex-grow değeri, öğenin ne kadar büyüyeceğini belirleyen bir faktördür. Örneğin, bir öğenin flex-grow değeri 2 ise, diğer öğelerden iki kat daha fazla genişleyecektir.

flex-grow özelliğinin alabileceği değerler şunlardır:

0: Öğe büyümez.

1: Diğer flex öğeleriyle orantılı olarak büyür.

2: Diğer flex öğelerinden iki kat daha fazla büyür.

n: Belirli bir sayıda büyüme faktörü belirtir.

Bu özellik, genellikle container içindeki öğeler arasında alanın nasıl dağıtılacağını kontrol etmek için kullanılır. Eğer bir öğenin diğerlerinden daha fazla genişlemesini istiyorsanız, flex-grow özelliğini kullanarak bu davranışı ayarlayabilirsiniz.

.box1{

    flex-grow: 1;
    
}

.box2{
    flex-grow: 4;
}

.box3{
    flex-grow: 2;
}

.box4{
    flex-grow: 0;
}

.box5{
    flex-grow: 12;
}

Görüşmek üzere.


Murat Bilginer
21 Şubat 1992'de doğdum. Endüstri Mühendisi olarak lisansımı 2016 yılında tamamladım. Industryolog Akademi - NGenius oluşumlarının kurucusuyum. Şu anda kendi şirketim Brainy Tech ile Web ve Mobil Geliştirme, AWS, Google Cloud Platform Sistemleri için DevOps, Big Data Analiz ve Görselleştirme hizmetleri sunmakta ve Online Eğitimler vermekteyiz.