Middle
CSS'te kenarların çökmesi nedir?
sobes.tech yapay zeka
AI'dan gelen yanıt
CSS'de margin collapsing (marjinal çökme) olayı, yan yana duran iki veya daha fazla blokun dikey sınırlarının birleşerek tek bir sınır oluşturmasıdır. Bu ortak sınırın boyutu, çökme sırasında en büyük değere göre belirlenir.
Çökme kurallarının temel prensipleri:
- Sadece dikey sınırlar (
margin-topvemargin-bottom) çökebilir. Yatay sınırlar çökmez. - Sadece bitişik öğelerin sınırları, aralarında başka öğe, padding, border veya blok içeriği yoksa çökebilir.
- İlk çocuk öğenin üst sınırı, aralarında
padding,borderveya başka içerik yoksa, ebeveyninin üst sınırıyla çökebilir. - Son çocuk öğenin alt sınırı, aralarında
padding,borderveya başka içerik yoksa, ebeveyninin alt sınırıyla çökebilir. - Boş bir öğenin üst ve alt sınırları, içerik veya padding, border yoksa, birbirleriyle çökebilir.
- Eğer çöküşen sınırların biri negatifse, toplam boyut, pozitif ve negatif değerlerin toplamı veya her ikisi de negatifse mutlak değeri alınarak hesaplanır.
Örnek:
<div class="box1">Öğe 1</div>
<div class="box2">Öğe 2</div>
.box1 {
margin-bottom: 20px;
}
.box2 {
margin-top: 30px;
}
Bu durumda, box1 ve box2 arasındaki dikey mesafe 30px olur (20px ve 30px arasındaki en büyük değer), 50px değil.
Çöküşü önleme yöntemleri:
- Öğeler arasında
paddingveyaborderekleyin. - Yeni bir formatlama bloğu oluşturun (örneğin,
overflow: hidden,display: flow-rootveya float öğeleri kullanarak). - Öğeler için
display: inline-block,display: flexveyadisplay: gridkullanın. - Mutlak konumlandırma kullanın.