Web sayfalarında gördüğümüz her şey, tarayıcı tarafından bir kutu (box) olarak ele alınır. İster bir başlık, ister bir paragraf, isterse bir buton olsun, tüm HTML elementleri aslında birer kutudur. CSS Box Model de tam olarak bu prensip üzerine kuruludur: Tüm elementler kutular halinde düzenlenir ve bu kutuların belirli özellikleri vardır.
Bu yazıda, CSS’in kutu modeli kavramını yeni başlayanlar için anlaşılır bir şekilde açıklayacağız. Web geliştirme dünyasına yeni adım atanlar için temel bir konu olan Box Model'i anlamak, sayfa düzeni ve stil tasarlarken büyük kolaylık sağlar.
1. CSS Box Model Nedir?
CSS Box Model, her HTML elementinin bir kutu gibi düşünüldüğü ve bu kutunun farklı bileşenlerden oluştuğu bir konsepttir. Temel olarak bir elementin görünümünü etkileyen şu dört ana bileşeni vardır:
- Content (İçerik Kutusu): Metin veya resim gibi içeriğin yer aldığı alan.
- Padding (Dolgu): İçerik ile sınır (border) arasındaki boşluk.
- Border (Kenarlık): Kutunun etrafını saran çerçeve.
- Margin (Dış Boşluk): Kutunun diğer elementlerden ne kadar uzak duracağını belirleyen boşluk.
Aşağıdaki görselde bu dört bileşeni daha iyi anlayabilirsiniz:

Örnek:
Bir paragraf etiketi <p>
içerisine biraz metin yazdığımızı düşünelim. Eğer hiçbir stil eklemezsek, tarayıcı varsayılan olarak genişliği ve yüksekliği ayarlar. Ancak biz width (genişlik) ve height (yükseklik) ile bu alanı belirleyebiliriz.
<p>Merhaba, bu bir paragraf.</p>
Varsayılan olarak, bu paragrafın genişliği tüm sayfa boyunca uzanacaktır. Ancak bunu değiştirebiliriz:
p {
width: 300px; /* Genişlik */
height: 100px; /* Yükseklik */
background-color: lightblue; /* Arka plan rengi */
}
Bu kod, paragrafa 300 piksel genişlikte ve 100 piksel yükseklikte bir kutu şeklini verir.
2. Kutu Modelinde Genişlik ve Yükseklik
Bir HTML elementi için genişlik ve yükseklik belirttiğimizde, aslında içerik alanının boyutlarını belirlemiş oluruz. Örneğin, bir div
elementi oluşturalım:
<div>Bu bir kutudur</div>
Ve CSS ile boyutlarını belirleyelim:
div {
width: 200px;
height: 200px;
background-color: lightcoral;
}
Bu kod, div
elementinin 200 piksel genişlikte ve 200 piksel yükseklikte olmasını sağlar. Eğer içindeki içerik bu boyutlardan büyükse, içeriğin taşması (overflow) gibi durumlar oluşabilir.
3. Padding (Dolgu) Nedir?
Padding, içerik ile kenarlık arasındaki boşluktur. Bir kutunun içeriği ile sınırı arasındaki mesafeyi ayarlamak için kullanılır.
Örnek olarak, yukarıdaki div
elementimize biraz padding ekleyelim:
div {
width: 200px;
height: 200px;
background-color: lightcoral;
padding: 20px;
}
Bu durumda, içeriğin kenardan 20 piksel içeride başlamasını sağladık. Padding, içeriğin kutunun içinde daha iyi görünmesini sağlar.
4. Border (Kenarlık) Nedir?
Border, kutunun etrafını saran çerçevedir. Kenarlık ekleyerek kutuyu daha belirgin hale getirebiliriz.
div {
width: 200px;
height: 200px;
background-color: lightcoral;
padding: 20px;
border: 5px solid black;
}
Bu kod ile, 5 piksel kalınlığında, siyah ve düz çizgili bir kenarlık ekledik. Border, kutunun şekil ve stilini belirlemekte oldukça faydalıdır.
5. Margin (Dış Boşluk) Nedir?
Margin, bir elementin diğer elementlerden uzaklığını ayarlar. Örneğin, iki div
elementi arasına boşluk koymak için margin kullanabiliriz.
div {
width: 200px;
height: 200px;
background-color: lightcoral;
padding: 20px;
border: 5px solid black;
margin: 30px;
}
Bu kod, div
elementinin etrafındaki diğer elementlerden 30 piksel uzak olmasını sağlar.
6. Box Sizing (Kutu Boyutlandırma)
Varsayılan olarak, width ve height sadece içerik kutusunu kapsar. Eğer padding ve border eklersek, kutunun gerçek genişliği ve yüksekliği artar. Bu yüzden box-sizing özelliği çok önemlidir.
div {
width: 200px;
height: 200px;
padding: 20px;
border: 5px solid black;
}
Bu durumda, div
elementinin toplam genişliği aslında:
200px (içerik) + 20px (sağ padding) + 20px (sol padding) +
5px (sağ border) + 5px (sol border) = 250px
Eğer box-sizing: border-box kullanırsak, tüm hesaplamaları tek bir genişlik değeri içinde tutabiliriz:
div {
width: 200px;
height: 200px;
padding: 20px;
border: 5px solid black;
box-sizing: border-box;
}
Bu durumda, elementin toplam genişliği tam olarak 200 piksel olur ve padding ile border bu genişliğin içine dahil edilir.
7. Sonuç
CSS Box Model, bir web sayfasında elementleri düzenlerken en temel konulardan biridir.
- Width ve Height, içeriğin boyutlarını belirler.
- Padding, içerik ile kenarlık arasındaki boşluktur.
- Border, elementin çerçevesidir.
- Margin, elementin dış boşluğunu ayarlar.
- Box-sizing, toplam boyut hesaplamalarını daha kolay hale getirir.
Bu konuları iyi anlamak, web sayfası tasarlarken büyük avantaj sağlar. Artık siz de kutu modelini daha iyi kavradığınıza göre, CSS ile daha gelişmiş tasarımlar oluşturabilirsiniz!