亚洲在线久爱草,狠狠天天香蕉网,天天搞日日干久草,伊人亚洲日本欧美

為了賬號安全,請及時綁定郵箱和手機立即綁定

為什么設置 padding-bottom, margin-bottom 的極大值再加上 overflow:hidden 就可以等高呢

<!DOCTYPE?html>

<html?lang="en">

<head>

????<meta?charset="UTF-8">

????<meta?name="viewport"?content="width=device-width,?initial-scale=1.0">

????<title>等高布局-02</title>

????<style>

????????.parent{

????????????overflow:?hidden;

????????}

????????.left,?.right{

????????????width:?300px;

????????????float:?left;


????????????padding-bottom:?9999px;

????????????/*?向上移動?*/

????????????margin-bottom:?-9999px;

????????}

????????.left{

????????????background-color:?tomato;

????????}

????????.right{

????????????background-color:?teal;

????????}

????</style>

</head>

<body>

????<div?class="parent">

????????<div?class="left">

????????????left?is?left

????????</div>

????????<div?class="right">

????????????Lorem?ipsum?dolor?sit,?amet?consectetur?adipisicing?elit.?Iusto,?rerum.?Commodi?in?aspernatur?asperiores?reiciendis?ipsum?ex?voluptas?amet?sequi.?Voluptate?nulla?laborum?molestias?placeat?natus?officiis?animi?officia?quas.

????????</div>

????</div>

</body>

</html>



正在回答

2 回答

  • 最初是想讓padding-bottom加長所有列,再使用"overflow:?hidden"將它們一刀切成高度相同的列(超過父容器邊框都被隱藏掉)。

  • 但是你會發現父容器沒有顯式設置高度(依賴子元素),父容器一直包裹著子元素,這樣會導致"overflow:?hidden"不生效。那么這個場景下就得考慮讓父容器邊框范圍收縮(讓子元素邊框超過父容器邊框)。

  • margin-bottom取負值就可以讓子元素盒子實際占用尺寸減少(content+padding+border+margin),但又不會影響到子元素邊框(content+padding+border)。對應父容器內部被占用的空間減少,父容器邊框范圍收縮,"overflow:?hidden"就可以生效了。(margin不會影響子元素邊框,通過影響子元素實際占用尺寸來影響父容器邊框)

這個等高布局涉及的知識點還是挺多的,比如"overflow:?hidden"何時觸發、內外邊距對盒子的影響、盒子未顯式設置高度時的處理。

0 回復 有任何疑惑可以回復我~

overflow的hidden會把超出的值隱藏,padding-bottom把內部間距撐開,當元素的內容填入時,兩列就會被撐開,所以在視覺上看到的,是等高的,高度是以內容多的那列為準,但是查看dom元素的時候,兩列的內容區域是不一樣的

0 回復 有任何疑惑可以回復我~

舉報

0/150
提交
取消

為什么設置 padding-bottom, margin-bottom 的極大值再加上 overflow:hidden 就可以等高呢

我要回答 關注問題
微信客服

購課補貼
聯系客服咨詢優惠詳情

幫助反饋 APP下載

慕課網APP
您的移動學習伙伴

公眾號

掃描二維碼
關注慕課網微信公眾號