Чӣ тавр фишурдани марзҳо дар CSS аст?
sobes.tech AI
Ҷавоб аз AI
Қабул қилиш (margin collapsing) — CSSда қуйи чегаралар қўшилиши ҳолати бўлиб, қўшни блоклар ўртасидаги вертикал чегаралар бирлашиб кетади. Бу бирлашган чегаранинг ўлчами — қўшилаётган чегаралар орасида энг катта қиймат.
Қўшилиш қуйидаги ҳолатларда юз бериши мумкин:
-
Қўшни элементлар орасида: Икки қўшни элементнинг вертикал чегаралари қўшилади.
<p>Параграф 1</p> <p>Параграф 2</p>Агар
<p>нингmargin-bottomваmargin-topтегишли равишда бўлса, бу чегаралар қўшилиши мумкин. -
Ота ва унинг биринчи/сўнгги боласи орасида: Агар ота элементда
border,padding,display: flex,display: grid,overflow: hiddenёки бошқа форматлаш контексти яратиш хусусиятлари бўлмаса, унинг юқори чегараси биринчи боланингmargin-topбилан қўшилиши мумкин. Шундай қилиб, ота ва сўнгги бола орасидаги чегаралар ҳам қўшилиши мумкин.<div class="parent"> <p class="child">Болалар элементи</p> </div> -
Бўш элементда: Агар элементда мазмун бўлмаса (
height: 0,borderваpaddingсиз), унинг юқори ва пастки чегаралари бирлашиши мумкин.<div class="empty"></div>
Қўшилиш натижаларини кўрсатувчи жадвал:
| Margin 1 | Margin 2 | Қўшилиш натижаси |
|---|---|---|
| 10px | 15px | 15px |
| 20px | -5px | 20px |
| -10px | -15px | -10px |
Қўшишлар фақат вертикал йўналишда (фақат margin-top ва margin-bottom) юз беради. Гorizontal чегаралар (margin-left ва margin-right) ҳеч қачон қўшилмайди.
Қўшилишни олдини олиш учун турли усуллар мавжуд, масалан, border, padding қўшиш, display: flex, display: grid, overflow: hidden ёки display: flow-root yordamida янги форматлаш контексти яратиш.