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менен чогулуп калат. Ошондой эле, ата-эненин төмөнкү чектери акыркы балалык элементтинmargin-bottomменен чогулуп калат.<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) болот. Горизонталдык чектер (margin-left жана margin-right) эч качан чогулбайт.
Шектөөнү алдын алуу үчүн ыкмалар бар, мисалы, border, padding кошуу, display: flex, display: grid колдонуу, overflow: hidden же блоктун жаңы форматтоо контекстин түзүү үчүн display: flow-root колдонуу.