CSS · 4/8
Kutu modeli: padding, border, margin
Kutu modelini hesaplamak ve taşmayı nedenine göre çözmek.
Önerilen çalışma: 25–45 dakika; örnekleri kendin uygula. Süre kişiye göre değişir.
Bu sayfada · 9 başlık
Başlamadan önce
Önceki dersteki örneği çalıştırmış olman ve dosya/çıktı ayrımını biliyor olman yararlı.
Öğrenme sırası: konuyu oku → çıktıyı tahmin et → örneği değiştir → alıştırmayı çöz → cevabını gerekçelendir.

Videoyla adım adım izle
Türkçe açıklamalı sessiz görsel anlatım. Sesli ders veya kesintisiz ekran kaydı değildir. Duraklatıp kendi ortamında uygula.
Video bölümleri ve tam metin
Kutu modeli: padding, border, margin
Kutu modelini hesaplamak ve taşmayı nedenine göre çözmek.
Kavramı kur
Her CSS kutusunda içerik alanı, padding, border ve dıştaki margin bulunur. Varsayılan content-box modelinde width yalnızca içerik genişliğidir. Bu nedenle 200px genişlik, iki tarafta 20px padding ve 3px border toplamda 246px yer kaplar; margin bu kutunun dışına ayrıca eklenir.
Neden böyle çalışıyor?
box-sizing:border-box genişlik hesabına padding ve border değerlerini dahil eder. Böylece width:200px dediğinde kutunun dış kenarlığına kadar olan genişliği 200px tutabilirsin. Margin hâlâ dışarıdadır. Bu kural bir kutuyu otomatik olarak mobil uyumlu yapmaz; verilen genişliğin kapsayıcıya sığması da gerekir.
Çalışma sırası
Taşma gördüğünde sayfaya overflow:hidden ekleyip belirtisini gizleme. DevTools kutu modelinde genişliği, padding değerlerini ve üst kapsayıcıyı incele. Uzun bölünemeyen metin, sabit min-width veya flex öğesinin minimum boyutu da taşmaya neden olabilir; sorunu gerçek kaynağında düzelt.
İkinci örnek · 1
content-box içerik genişliğine padding ve border ekler. Kodun tamamı yazılı derste bulunur.
Kod
<style>
* { box-sizing: border-box; }
.kart { width: 240px; max-width: 100%; padding: 20px;
border: 4px solid #2563eb; margin: 12px 0; }
</style>
<div class="kart">Dış genişliğim en fazla 240px.</div>Beklenen sonucu oku
max-width:100% kutunun kapsayıcısından geniş olmasını sınırlamaya yardım eder.
Beklenen çıktı: Padding ve kenarlığıyla birlikte en fazla 240px genişliğinde bir kutu.
Bir değeri sen değiştir
width:200px; padding:20px; border:3px için content-box toplamını hesapla. Aynı kutuyu border-box yapıp ölçümü karşılaştır.
Hata nereden gelir?
Padding ile margin aynı yere boşluk koymaz; DevTools renkli kutu gösterimini incele.
Kendi çözümünü kur
Kapsayıcıyı 180px genişliğe getir; max-width kuralının etkisini incele. İki yatay taraf vardır: genişliğe sağ ve sol padding ile sağ ve sol border eklenir.
Çözüm varyasyonu · 1
Önce kendi denemeni yap; sonra bu varyasyonun girdileri ile sonucunu karşılaştır.
Kod
<style>*{box-sizing:border-box}.kutu{width:200px;max-width:100%;padding:20px;border:3px solid #245f9e}</style>
<div class="kutu">Toplam genişlik: 200px.</div>Kendini kontrol et
200px content-box + iki yanda 20px padding + 3px border kaç piksel eder? Yanıt: 246px; margin hesabın dışında ayrıca yer kaplar.
Beklenen çıktı: border-box sayesinde 200px dış genişlik; iç alan 154px.
Konu anlatımı
Her CSS kutusunda içerik alanı, padding, border ve dıştaki margin bulunur. Varsayılan content-box modelinde width yalnızca içerik genişliğidir. Bu nedenle 200px genişlik, iki tarafta 20px padding ve 3px border toplamda 246px yer kaplar; margin bu kutunun dışına ayrıca eklenir.
box-sizing:border-box genişlik hesabına padding ve border değerlerini dahil eder. Böylece width:200px dediğinde kutunun dış kenarlığına kadar olan genişliği 200px tutabilirsin. Margin hâlâ dışarıdadır. Bu kural bir kutuyu otomatik olarak mobil uyumlu yapmaz; verilen genişliğin kapsayıcıya sığması da gerekir.
Taşma gördüğünde sayfaya overflow:hidden ekleyip belirtisini gizleme. DevTools kutu modelinde genişliği, padding değerlerini ve üst kapsayıcıyı incele. Uzun bölünemeyen metin, sabit min-width veya flex öğesinin minimum boyutu da taşmaya neden olabilir; sorunu gerçek kaynağında düzelt.
İlk örneği oku ve dene
Kutu modeli: padding, border, margin
Sayfadaki her öğe bir kutudur. padding içerik ile kenarlık arasındaki iç boşluk, border kenarlık, margin kutunun dışındaki boşluktur. Bunları bir tablodaki resim, paspartu ve çerçeve gibi düşünebilirsin.
<style>
.kutu {
width: 200px;
padding: 20px;
border: 3px solid #6366f1;
margin: 30px;
background-color: #eef2ff;
}
</style>
<div class="kutu">Ben bir kutuyum</div>
▶ Sonuç
Kenarlardan 30 piksel içeride, mor kenarlıklı, içi açık mor ve yazısı kenarlardan 20 piksel uzakta duran bir kutu görünür.
Adım adım neden böyle çalışıyor?
- content-box içerik genişliğine padding ve border ekler.
- border-box verilen genişliğe padding ve border değerlerini dahil eder.
- margin komşu kutularla dış mesafeyi belirler.
- max-width:100% kutunun kapsayıcısından geniş olmasını sınırlamaya yardım eder.
İkinci çözümlü örnek
Kutu modelini hesaplamak ve taşmayı nedenine göre çözmek.
<style>
* { box-sizing: border-box; }
.kart { width: 240px; max-width: 100%; padding: 20px;
border: 4px solid #2563eb; margin: 12px 0; }
</style>
<div class="kart">Dış genişliğim en fazla 240px.</div>
▶ Sonuç
Padding ve kenarlığıyla birlikte en fazla 240px genişliğinde bir kutu.
Kolaydan zora sen dene
- width:200px; padding:20px; border:3px için content-box toplamını hesapla.
- Aynı kutuyu border-box yapıp ölçümü karşılaştır.
- Kapsayıcıyı 180px genişliğe getir; max-width kuralının etkisini incele.
İpucunu aç
İki yatay taraf vardır: genişliğe sağ ve sol padding ile sağ ve sol border eklenir.
Üç görevin açıklamalı çözümünü oku
- 200+20+20+3+3=246px; margin ayrıca dışarıdadır.
- border-box ile dış genişlik 200px; iç alan 154px olur.
- max-width:100% dar kapsayıcıya sığmayı sağlar; padding hesabını border-box ile tutarlı yap.
Bir çözüm varyasyonu gör
Çözüm varyasyonu
Önce kendi görevlerini dene. Bu varyasyonda girdi ve sonuçları karşılaştır.
<style>*{box-sizing:border-box}.kutu{width:200px;max-width:100%;padding:20px;border:3px solid #245f9e}</style>
<div class="kutu">Toplam genişlik: 200px.</div>
▶ Sonuç
border-box sayesinde 200px dış genişlik; iç alan 154px.
Yaygın hata ve çözümü
- Padding ile margin aynı yere boşluk koymaz; DevTools renkli kutu gösterimini incele.
- Taşmayı genel overflow:hidden ile gizlemek metni erişilemez kılabilir.
Kendini değerlendir
Ezberlemeden açıklayabiliyor musun?
200px content-box + iki yanda 20px padding + 3px border kaç piksel eder?
Açıklamalı yanıt
246px; margin hesabın dışında ayrıca yer kaplar.
Kendi çözümünde bir girdiyi değiştir. Çalıştırmadan önce beklenen sonucu yaz; gerçek sonuçla karşılaştır ve fark varsa hangi satırdan kaynaklandığını açıkla.
Kaynak ve çalışma ortamı
Örnekler küçük öğretim senaryolarıdır. Java/C#/PHP/Swift çalışma ortamını kendi cihazında ayrıca doğrula; yazılı sonuçlar beklenen davranışı açıklar.
Resmî dil belgeleriBu içerik işine yaradı mı?
Görüşünü aşağıdan işaretleyebilir ve varsa notunu bırakabilirsin.