Merhabalar.

Bu yazımda Items için flex-basis ö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{
    width: 1000px;
    padding: 10px;
    height: 700px;
    background-color: #21b5da;
    display: flex;
    flex-flow: row nowrap;
    
}

.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-basis Özelliği

flex-basis, CSS Flexbox modelinde kullanılan bir özelliktir. Bu özellik, bir flex öğesinin container içindeki başlangıç boyutunu belirler. Yani, öğenin başlangıç boyutu, öğenin container içindeki yerleşimine başlamadan önceki boyutunu ifade eder.

flex-basis özelliği, öğelerin container içindeki başlangıç boyutunu belirler, ancak flex-grow ve flex-shrink özellikleri ile birlikte kullanıldığında, öğenin boyutunu nasıl değiştireceğini de etkiler.

.item {
  flex-basis: 100px; /* Öğenin başlangıç boyutu 100 piksel */
}

Bu örnekte, flex-basis özelliği ile belirtilen 100px, öğenin container içindeki başlangıç boyutunu belirler.

flex-basis özelliği, aynı zamanda %, em, rem gibi uzunluk birimleri, auto veya content gibi değerleri de kabul edebilir.

Eğer flex-basis değeri auto olarak ayarlanırsa, öğenin boyutu içeriğine göre otomatik olarak belirlenir. Eğer content olarak ayarlanırsa, öğenin içeriği dikkate alınarak boyutu belirlenir.

.box1{

    flex-basis: 150px;
    
}

.box2{
    flex-basis: auto;
}

.box3{
    flex-basis: content;
}

.box4{
    flex-basis: 50%;
}

.box5{
    flex-basis: 100px;
}

flex Özelliği

Sırasıyla flex-growflex-shrink ve flex-basis özelliklerinin kısa kullanımıdır. İlk değeri zorunlu olup (shrink ve basis) değerlerini belirtmek zorunlu değildir. Varsayılan olarak 0 1 auto değerine sahiptir. Ve en sık kullanımı da şöyledir;

.item1 {
    flex: 1 1 auto;
}

.box1{

    flex: 4 1 200px;
    
}

.box2{
    flex: 2 1 200px;
}

.box3{
    flex: 1 5 300px;
}

.box4{
    flex: 1 1 400px;
}

.box5{
    flex: 1 1 1200px;
}

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.