CSSda chegaralarni yopishtirish nima?
sobes.tech AI
AIdan javob
Marginlarning qulab tushishi (margin collapsing) CSSda yonma-yon keladigan bloklarning vertikal marginlari bitta bo‘lib qolishi hodisasidir. Bu birlashtirilgan marginning o‘lchami, qulab tushayotgan marginlarning maksimal qiymati sifatida belgilanadi.
Qulash quyidagi holatlarda yuzaga keladi:
-
Yonma-yon elementlar orasida: Ikki yonma-yon elementning vertikal marginlari qulab tushadi.
<p>Paragraf 1</p> <p>Paragraf 2</p>Agar
<p>ningmargin-bottomvamargin-topmos ravishda bo‘lsa, bu marginlar qulab tushishi mumkin. -
Ota element va uning birinchi/oxirgi bolasi orasida: Agar ota elementda
border,padding,display: flex,display: grid,overflow: hiddenyoki boshqa formatlash konteksti yaratadigan xususiyatlar bo‘lmasa, uning yuqori margini birinchi bolaningmargin-topbilan, shuningdek, ota elementning pastki margini oxirgi bolaningmargin-bottombilan qulab tushishi mumkin.<div class="parent"> <p class="child">Bolali element</p> </div> -
Bo‘sh elementda: Agar elementda mazmun bo‘lmasa (
height: 0,bordervapaddingbo‘lmasa), uning yuqori va pastki marginlari bir-biri bilan qulab tushishi mumkin.<div class="empty"></div>
Qulash natijalarini ko‘rsatadigan jadval:
| Margin 1 | Margin 2 | Qulash natijasi |
|---|---|---|
| 10px | 15px | 15px |
| 20px | -5px | 20px |
| -10px | -15px | -10px |
Marginlarning qulab tushishi faqat vertikal yo‘nalishda (margin-top va margin-bottom) yuzaga keladi. Gorizontal marginlar (margin-left va margin-right) hech qachon qulab tushmaydi.
Qulashni oldini olish uchun usullar mavjud, masalan, border, padding qo‘shish, display: flex, display: grid, overflow: hidden ni ishlatish yoki display: flow-root yordamida yangi formatlash kontekstini yaratish.