Middle
CSS-də sərhədlərin yığılması nədir?
sobes.tech Süni İntellekt
AI-dan cavab
CSS-də margin collapsing (kənarların çökməsi) hadisəsi, yan-yana yerləşən iki və ya daha çox blokun şaquli sərhədlərinin birləşərək tək bir sərhəd yaratmasıdır. Bu ümumi sərhədin ölçüsü, çökmə zamanı ən böyük dəyərə görə müəyyən edilir.
Əsas qaydalar:
- Yalnız şaquli sərhədlər (
margin-topvəmargin-bottom) çökmə edir. Üfüqi sərhədlər çökməz. - Yalnız qonşu elementlərin sərhədləri, aralarında başqa element, padding, border və ya blok içeriyi yoxdursa, çökmə edir.
- Birinci uşaq elementin yuxarı sərhədi, aralarında
padding,bordervə ya başqa məzmun yoxdursa, onun valideyninin yuxarı sərhədi ilə çökmə edir. - Son uşaq elementin aşağı sərhədi, aralarında
padding,bordervə ya başqa məzmun yoxdursa, onun valideyninin aşağı sərhədi ilə çökmə edir. - Boş elementin yuxarı və aşağı sərhədləri, əgər
padding,bordervə ya məzmun yoxdursa, bir-biri ilə çökmə edə bilər. - Əgər çökmə edən sərhədlərdən biri mənfidirsə, yekun ölçü müsbət və mənfi dəyərlərin cəmidir (və ya hər ikisi mənfidirsə və cəm mənfidir, müsbət dəyər alınır).
Nümunə:
<div class="box1">Element 1</div>
<div class="box2">Element 2</div>
.box1 {
margin-bottom: 20px;
}
.box2 {
margin-top: 30px;
}
Bu halda, box1 və box2 arasındakı şaquli məsafə 30px olacaq (20px və 30px arasındakı ən böyük dəyər), 50px deyil.
Qarşısını alma yolları:
- Elementlər arasında
paddingvə yaborderəlavə edin. - Yeni formatlama bloku yaradın (məsələn,
overflow: hidden,display: flow-rootvə ya yüzen elementlər istifadə edərək). - Elementlər üçün
display: inline-block,display: flexvə yadisplay: gridistifadə edin. - Absolut yerləşdirmə istifadə edin.