(轉)當margin-top、padding-top的值為百分比時是如何計算的?


本文鏈接:https://blog.csdn.net/qq_27437967/article/details/72625900
問題:當margin-top、padding-top的值是百分比時,分別是如何計算的?
A 相對父級元素的height,相對自身的height
B 相對最近父級塊級元素的height,相對自身的height
C 相對父級元素的width,相對自身的width
D 相對最近父級塊級元素的width,相對最近父級塊級元素的width

答案:D

可以對元素的margin設置百分數,百分數是相對於父元素的width計算,不管是margin-top/margin-bottom還是margin-left/margin-right。(padding同理)

如果沒有為元素聲明width,在這種情況下,元素框的總寬度包括外邊距取決於父元素的width,這樣可能得到“流式”頁面,即元素的外邊距會擴大或縮小以適應父元素的實際大小。如果對這個文檔設置樣式,使其元素使用百分數外邊距,當用戶修改瀏覽窗口的寬度時,外邊距會隨之擴大或縮小。

為什么margin-top/margin-bottom的百分數也是相對於width而不是height呢?

CSS權威指南中的解釋:

我們認為,正常流中的大多數元素都會足夠高以包含其后代元素(包括外邊距),如果一個元素的上下外邊距時父元素的height的百分數,就可能導致一個無限循環,父元素的height會增加,以適應后代元素上下外邊距的增加,而相應的,上下外邊距因為父元素height的增加也會增加,如果循環。




原文鏈接:https://blog.csdn.net/qq_27437967/article/details/72625900


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM