覺得不錯,用得挺多的就轉了,也謝謝原創了。
這邊講的不一定是 div,所有 Block 對象都可以適用。
什麼是 Block 對象?
簡單講就是會斷行的對象,像 div 或 p 都是;相對於 Block 對象的叫做 Inline 對象,也就是不會斷行的對象,像是 span 或 img。
有關 Block 對象的寬度與高度有個專有名詞,叫做「Box Model」,有興趣 google 一下 Box Model 的圖片就知道了。
Block 對象由四部份組成:
Content – 放內容的地方
Padding – 邊框與內容之間的留白
Border – 邊框
Margin – 邊框以外的留白
一般講的寬度指的是內容寬度,但一個 div 的實際寬度不僅只於內容寬度,尤其在做 CSS 排版時更不能搞錯,必須同時考慮 Padding、Border 與 Margin 的寬度,四個加起來纔是 div 真正佔有的寬度。
jQuery 全都有了!
var content = $(‘div’). width();
var contentWithPadding = $(‘div’). innerWidth();
var withoutMargin = $(‘div’). outerWidth();
var full = $(‘div’). outerWidth(true);
寬度與高度概念一樣,只差水平與垂直向而已。
Margin 有個特色,就是當兩個有 margin的 div 靠在一起時,兩個 div 緊鄰的 margin 不是相加,而是取其大者,舉例來說,兩個 10px margin 的 div 並在一起只會有 10px margin 的距離,若是一個 20px margin,另一個爲 10px margin,則會有 20px 的 margin。