CSS Box Sizing
CSS'de kutu boyutlandırma ( box-sizing
) özelliği, öğelerin genişlik ve yüksekliğini hesaplarken dolgu ( padding
) ve kenarlıkların ( border
) dahil edilip edilmediğini belirlememize olanak tanır. Bu özellik, tasarım sürecinde daha öngörülebilir ve tutarlı sonuçlar elde etmemize yardımcı olur.
Temel Kullanım
box-sizing
özelliğinin iki ana değeri vardır:
- content-box : Bu varsayılan değerdir. Öğenin genişlik ve yüksekliği yalnızca içerik alanını kapsar. Dolgu ve kenarlıklar bu değerlere dahil edilmez.
- border-box : Öğenin genişlik ve yüksekliği içerik, dolgu ve kenarlıkların tamamını kapsar.
Örnekler
content-box (Varsayılan Değer)
.element {
width: 300px;
height: 200px;
padding: 20px;
border: 10px solid black;
box-sizing: content-box;
}
Yukarıdaki örnekte, .element
sınıfına sahip öğenin toplam genişliği 300px (içerik) + 40px (dolgu) + 20px (kenarlık) = 360px, toplam yüksekliği ise 200px (içerik) + 40px (dolgu) + 20px (kenarlık) = 260px olacaktır.
border-box
.element {
width: 300px;
height: 200px;
padding: 20px;
border: 10px solid black;
box-sizing: border-box;
}
Bu örnekte, .element
sınıfına sahip öğenin toplam genişliği ve yüksekliği 300px ve 200px olarak kalır çünkü dolgu ve kenarlık bu değerlere dahildir.
Neden Kullanmalıyız?
box-sizing: border-box;
kullanmanın ana avantajı, öğelerin toplam boyutlarını hesaplamayı ve kontrol etmeyi daha kolay hale getirmesidir. Bu, özellikle karmaşık düzenler oluştururken önemlidir. Modern tarayıcıların çoğu bu özelliği destekler ve CSS reset dosyalarında yaygın olarak kullanılır.
CSS Reset Örneği
Birçok CSS reset dosyası, tüm öğelerde box-sizing
özelliğini border-box
olarak ayarlayarak başlar. Bu, tüm öğelerin aynı kutu boyutlandırma modelini kullanmasını sağlar ve tarayıcılar arası tutarlılığı artırır.
/* CSS Reset */
*,
*::before,
*::after {
box-sizing: border-box;
}
Bu kod, tüm öğeler ve onların ::before
ve ::after
pseudo-elementleri için box-sizing
değerini border-box
olarak ayarlar.
Sonuç
CSS'de box-sizing
özelliği, öğelerin toplam boyutlarını daha öngörülebilir ve yönetilebilir hale getirir. border-box
değeri, özellikle karmaşık düzenler oluştururken ve farklı tarayıcılar arasında tutarlılığı sağlamak için çok yararlıdır. Bu özelliği doğru kullanarak, daha esnek ve bakım kolaylığı yüksek tasarımlar oluşturabilirsiniz.