CSS kutu modeli (Box Model), web sayfasındaki her öğeyi (metin, resim, düğme, vb.) bir kutu olarak kabul eder ve bu kutunun nasıl görünmesi gerektiğini tanımlar. Kutu modeli, öğelerin boyutlarını, iç boşluklarını (padding), dış boşluklarını (margin), kenarlıklarını (border) ve içeriklerini (content) belirleyen temel bir yapıdır. Kutu modelini doğru anlamak, web tasarımının temellerini anlamanızı sağlar ve düzenli, uyumlu bir sayfa oluşturmanızı kolaylaştırır.
Kutu Modeli Bileşenleri
CSS kutu modelinin dört ana bileşeni vardır:
- İçerik (Content):
- Bu, öğenin asıl içeriğidir. Metin, resim veya öğenin içine yerleştirilmiş diğer öğeler burada bulunur.
- İçeriğin boyutu,
widthveheightözellikleriyle belirlenir.
- İç Boşluk (Padding):
- İçerik ile kenarlık (border) arasındaki boşluktur.
paddingözelliğiyle kontrol edilir ve içeriğin etrafındaki boşluğu artırmak için kullanılır.padding‘in değeri arttıkça, öğenin içerik alanı küçülür.
- Kenarlık (Border):
- İçerik ve padding arasındaki sınır çizgisidir.
borderözelliğiyle stil, renk ve kalınlık ayarlanabilir.- Kenarlık, öğe ile çevresindeki diğer öğeler arasındaki görsel ayrımı sağlar.
- Dış Boşluk (Margin):
- Öğenin çevresindeki dış boşluktur ve diğer öğelerden ne kadar uzak olacağını belirler.
marginözelliği ile öğe etrafındaki boşluk kontrol edilir.- Margin, öğe dışındaki alanı kontrol etmek için kullanılır ve öğelerin birbirinden ne kadar uzakta olduğunu belirler.
Kutu Modeli Özellikleri
CSS kutu modelinde her bileşenin etkisi ve nasıl çalıştığına dair daha fazla detaylı bilgi:
- width & height:
Bu iki özellik öğenin içerik alanının genişliğini ve yüksekliğini belirler. Ancak bu, öğenin toplam boyutunu belirtmez, çünkü padding, border ve margin da dikkate alınır. - box-sizing:
box-sizingözelliği, kutu modelinin nasıl hesaplanacağını kontrol eder. İki farklı değer alabilir:content-box: Bu, varsayılan kutu modelidir ve öğe boyutu sadece içerik kısmını dikkate alır.border-box: Bu modelde ise, öğenin toplam boyutuna border ve padding de dahildir. Yani,widthveheightsadece içerik değil, içerik, padding ve border’ı da kapsar.
Örnek:
box-sizing: border-box;
Bu, öğe boyutlarıyla birlikte border ve padding’i de hesaba katar, böylece öğenin toplam boyutu her zaman sabit olur.
Kutu Modeli Hesaplama
Varsayılan kutu modelinde (box-sizing: content-box), öğenin toplam genişliği ve yüksekliği şu şekilde hesaplanır:
- Toplam Genişlik = width + padding sol + padding sağ + border sol + border sağ + margin sol + margin sağ
- Toplam Yükseklik = height + padding üst + padding alt + border üst + border alt + margin üst + margin alt
Örnek:
div {
width: 200px;
padding: 20px;
border: 5px solid black;
margin: 10px;
}
Bu durumda, öğenin toplam genişliği:
- 200px (width) + 40px (padding sol + sağ) + 10px (border sol + sağ) = 250px
- Toplam yüksekliği de benzer şekilde hesaplanabilir.
Kutu Modeli ile İlgili Örnekler
- Öğenin Boyutlandırılması
div {
width: 300px;
height: 200px;
padding: 20px;
border: 5px solid black;
margin: 15px;
box-sizing: border-box;
}
Burada, box-sizing: border-box kullanıldığı için, öğenin toplam genişliği ve yüksekliği 300px x 200px olarak belirlenir, padding ve border bu genişlik ve yükseklik içinde yer alır.
Padding ve Margin Kullanımı
.container {
width: 100%;
padding: 10px;
margin: 20px;
background-color: lightgray;
}
Bu örnekte, padding öğenin iç kısmına boşluk eklerken, margin öğenin etrafındaki dış boşluğu artırır.
Kutu Modeli İçin İpuçları
- Flexbox ve Grid ile Uyumluluk:
Kutu modelinin doğru anlaşılması, modern CSS düzen araçları olan Flexbox ve Grid ile çalışırken oldukça önemlidir. Bu araçlar, öğelerin yerleşimlerini daha esnek bir şekilde düzenlemenize yardımcı olur, ancak kutu modeline dikkat edilmesi gerekmektedir. - Görsel Düzenlemelerde Performans:
box-sizing: border-boxkullanımı, özellikle responsive tasarımda daha yaygındır çünkü öğe boyutları arasında tutarsızlıkları önler. Padding ve border eklediğinizde öğenin boyutu değişmez. - Margin Çöküşü:
Margin çöküşü, üst ve alt margin değerlerinin birleşerek daha büyük bir boşluk oluşturması durumudur. Bu durumu anlamak ve çözmek, düzenin doğru görünmesini sağlar.



