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

為了賬號安全,請及時綁定郵箱和手機立即綁定
已解決430363個問題,去搜搜看,總會有你想問的

請問為什么CSS中的邊距/填充百分比總是根據寬度計算?

請問為什么CSS中的邊距/填充百分比總是根據寬度計算?

皈依舞 2019-10-20 16:08:29
為什么CSS中的邊距/填充百分比總是根據寬度計算?如果你看看CSS盒模型規范,您將觀察到以下情況:[保證金]百分比是根據寬度生成的框的包含塊。請注意,這是正確的‘邊緣-頂部’和‘保證金-底部’以及。如果包含塊的寬度取決于此元素,則在CSS2.1中未定義結果布局。(強調地雷)這是真的。但為什么?究竟是什么迫使任何人這樣設計它呢?很容易想到你想要的場景,例如,某件東西總是比頁面頂部低25%,但是很難想出為什么你想要垂直填充相對于父頁面的水平大小。下面是我所指的現象的一個例子:<div style="border: 1px solid red; margin: 0; padding: 0; width: 200px; height: 800px;">   This div is 200x800.  <div style="border: 1px solid blue; margin: 10% 0 0 10%;">     This div has top-margin of 10% and left-margin of 10% with respect to its parent.  </div></div>http://jsfiddle.net/8JDYD/
查看完整描述

3 回答

?
九州編程

TA貢獻1785條經驗 獲得超4個贊

把我的評論轉到一個答案上,因為這是合乎邏輯的。不過,請注意,這是毫無根據的猜測。關于為什么用這種方式編寫規范的實際推理,在技術上仍然是未知的。

元素高度由子元素的高度定義。如果一個元素有填充頂:10%(相對于父元素的高度),這將影響父元素的高度。由于子節點的高度取決于父級的高度,而父級的高度取決于子級的高度,所以我們要么有不準確的高度,要么有一個無限循環。當然,這只會影響偏移父=父級的情況,但仍然是這樣。這是一個很難解決的奇怪案件。

更新:最后幾句可能不完全準確。葉元素(沒有子元素的子元素)的高度對其上方所有元素的高度都有影響,因此這會影響許多不同的情況。



查看完整回答
反對 回復 2019-10-21
  • 3 回答
  • 0 關注
  • 577 瀏覽
慕課專欄
更多

添加回答

舉報

0/150
提交
取消
微信客服

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

幫助反饋 APP下載

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

公眾號

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