最近隨手習慣性的寫了個樣式margin-top: 10%; 本意是想它裡上面的高度是現有父節點高度的10%,但事實並非如此。它離上面的高度始終是比預期的多出許多,才著重的研究起來這個屬性的具體演算法。經過各種嘗試,發現這個百分比是針對的父元素的寬度,並不是高度,知道真相的我大吃一驚,所以再捋了捋。
首先在dom元素的高度,大部分都是沒有指定的,所以它真正的高度是由裡面的內容撐起來的,也就沒有所謂高度的概念,另外高度的這個屬性也是不會自動繼承的,除非你給它設定繼承才會。所以高度這東西的不確定性太多,不太方便用來計算。
而元素的寬度,在大部分情況下,載入的時候就被確定,是乙個便於操作的屬性,所以margin-left的百分比也是針對的父元素的寬度。padding屬性是一樣的,只是不能接受負值。
關於margin和padding的問題
ie 6.0 firefox opera等是 color red 真實寬度 width padding border margin color ie5.x color red 真實寬度 width padding border margin color 很明顯,第一種下很完美的布局在第二種情況下後果...
關於margin和padding的總結
總結一下 要想實現如 圖一 效果,即乙個div中的子元素與父元素有間距 如果類名為.middle的父元素沒有寫border,則類名為firstchild的子元素設定margin top,會導致父元素與相鄰的top元素產生間距。類名為.middle的父元素加上border屬性,但不足是加入border...
轉 關於width與padding
首先談談 important問題的引起 盒模型問題 在css標準中,乙個盒模型包括4個區,分別是 內容 內邊距 padding 邊框 border 和外邊距 margin 而width寬度的計算,css有它的標準。但是實際上,不同的瀏覽器的表現卻不同。比如,firefox ff 是準確按照css標準...