有三個div,left、center、right,使他們三列等高讓三個div的margin-bottom: -10000px;padding-bottom: 10000px;怎么理解
2 回答

jeck貓
TA貢獻1909條經驗 獲得超7個贊
1,如果div
的box-sizing
等于border-box
的話,一個div
的高度/寬度=內容的高度/寬度+內邊距+邊框,所以設置padding-bottom:10000px
相當于把div的高度設置為10000px
;
2,margin-bottom:-10000px;
本身的div
不會移動,但是下面的div
會向上移動10000px
的像素。但是如果將margin-bottom:-10000px;
改成margin-top:-1000px;
之后,div
就會向上移動10000px
的像素,

Helenr
TA貢獻1780條經驗 獲得超4個贊
這種方法叫做:padding
補償法,也是能夠更好的兼容的方法。
首先把列的padding-bottom設為一個足夠大的值,再把列的margin-bottom設一個與前面的padding-bottom的正值相抵消的負值,父容器設置超出隱藏,這樣子父容器的高度就還是它里面的列沒有設定padding-bottom時的高度,當它里面的任一列高度增加了,則父容器的高度被撐到它里面最高那列的高度,其他比這列矮的列則會用它們的padding-bottom來補償這部分高度差。因為背景是可以用在padding占用的空間里的,而且邊框也是跟隨padding變化的,所以就成功的完成了一個障眼法。
- 2 回答
- 0 關注
- 864 瀏覽
添加回答
舉報
0/150
提交
取消