content-box與border-box區別


理解box-sizing屬性border-box,content-box,其實也是理解正常盒模型與異常盒模型。

正常盒模型

正常盒模型,是指塊元素box-sizing屬性為content-box的盒模型。一般在現代瀏覽器中使用的都是正常盒模型content-box,它也是標准 w3c 盒子模型。

參見  CSS盒模型

正常盒模型是指:盒模型的大小包括content,padding,border,並且先做content.。

正常盒模型的大小會以內容優先自動擴展,內部子元素超過父元素給定的大小,會將父元素撐大。

 

怪異盒模型

怪異盒模型,是指塊元素box-sizing屬性為border-box的盒模型。一般在IE瀏覽器中默認為這種怪異盒模型,但是由於其自身的特殊性,手機頁面中也有使用怪異盒模型。

怪異盒模型是先做盒。然后添加border,padding,最后做content。即保證盒模型優先,先做盒再放內容,不管內容是否放得下,一般手機上用的更多。

更通俗的說,怪異盒模型中,父元素的盒模型確定,子元素是無法撐開父元素的盒模型,只能在盒模型剩余空間展示。

 

怎么樣才算是選擇了“標准 w3c 盒子模型”呢?

很簡單,就是在網頁的頂部加上 doctype 聲明。假如不加 doctype 聲明,那么各個瀏覽器會根據自己的行為去理解網頁,

即 ie 瀏覽器會采用 ie 盒子模型去解釋你的盒子,而 ff 會采用標准 w3c 盒子模型解釋你的盒子。所以網頁在不同的瀏覽器中就顯示的不一樣了。

反之,假如加上了 doctype 聲明,那么所有瀏覽器都會采用標准 w3c 盒子模型去解釋你的盒子,網頁就能在各個瀏覽器中顯示一致了

 


免責聲明!

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



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