對盒模型簡單作下總結和分享。css
當瀏覽器對文檔進行佈局時,渲染引擎將全部元素表現爲一個個矩形的盒子,稱爲盒模型。
html
標準盒模型和怪異盒模型的區別是整個盒子的寬高決定方式的不一樣,可經過設置css屬性box-sizing爲content-box和border-box分別將盒子設置爲標準盒模型和怪異盒模型。chrome
<style> div{ width:100px; height:50px; padding:5px; border:5px solid black; margin:5px; } .normal{ background: red; } .strange{ background: green; box-sizing: border-box; } </style>
<div class="normal">
標準盒模型
</div>
<div class="strange">
怪異盒模型
</div>
複製代碼
標準盒模型 瀏覽器
怪異盒模型 如上,盒子相關設置值相同, 標準盒模型盒子的寬度爲: margin+border+padding+content 怪異盒模型盒子的寬度爲: css設置的width值 從而致使二者所佔區域不一樣除IE外,瀏覽器默認使用標準盒模式解析元素,其也是W3C的標準。惱人的IE5.5及更早IE瀏覽器默認使用怪異模式解析元素,因此怪異模式也稱IE模式。佈局
筆者經驗有限,使用較多的狀況是將某個元素寬度控制在特定值時,設置box-sizing爲border-box,有其餘經常使用案例歡迎你們留言討論。spa