摘要:一盒模型一個(gè)頁面由許多元素組成,而每一個(gè)元素都可以表示為一個(gè)矩形的盒子,盒模型正是描述這些矩形盒子的存在。外邊距區(qū)域用空白區(qū)域擴(kuò)展邊框區(qū)域,以分開相鄰的元素。的開源框架就全局設(shè)置了,由此可見盒模型的是比較受歡迎的。
一個(gè)web頁面由許多html元素組成,而每一個(gè)html元素都可以表示為一個(gè)矩形的盒子,CSS盒模型正是描述這些矩形盒子的存在。
MDN的描述:
When laying out a document, the browsers rendering engine represents each element as a rectangular box according to the standard CSS basic box model. CSS determines the size, position, and properties (color, background, border size, etc.) of these boxes.
Every box is composed of four parts (or areas), defined by their respective edges: the content edge, padding edge, border edge, and margin edge.
CSS盒模型有四條邊:外邊距邊、邊框邊、內(nèi)填充邊、內(nèi)容邊(Content edge、Padding edge、Border edge和Margin edge),四條邊由內(nèi)到外把它劃分為四個(gè)區(qū)域:內(nèi)容區(qū)域、內(nèi)邊距區(qū)域、邊框區(qū)域、外邊距區(qū)域(Content area、Padding area、Border area和Margin area)。
通過CSS屬性(width、height、padding、border和margin)來控制它們的尺寸。
1 /* 關(guān)鍵字 值 */ 2 box-sizing: content-box;/*默認(rèn)值*/ 3 box-sizing: border-box; 4 5 /* 全局 值 */ 6 box-sizing: inherit; 7 box-sizing: initial; 8 box-sizing: unset;
box-sizing的作用就是告訴瀏覽器,使用的盒模型是W3C盒模型,還是IE盒模型。
a.當(dāng) box-sizing 的值為 content-box(默認(rèn)值) 時(shí),其尺寸計(jì)算公式為:
width = content-width;
height = content-height;
b.當(dāng) box-sizing 的值為 border-box 時(shí),其尺寸計(jì)算公式為:
width = content-width + padding-left + padding-right + border-left-width + border-right-width;
height = content-height + padding-top + padding-bottom + border-top-height + border-bottom-height;
無論取何值,盒子尺寸是一樣的,改變的是盒子的容量(盒子內(nèi)部的width和height的計(jì)算方式)。
補(bǔ)充:IE6、7為W3C盒模型。
在項(xiàng)目里,究竟該使用哪種盒模型?我也不知道啊
在MDN上有這樣一句話:
Some experts recommend that web developers should consider routinely applying box-sizing: border-box to all elements.
一些專家甚至建議所有的Web開發(fā)者們將所有的元素的 box-sizing 都設(shè)為 border-box。
Twitter的開源框架Bootstrap3就全局設(shè)置了box-sizing: border-box,由此可見IE盒模型的是比較受歡迎的。
補(bǔ)充:
W3C在CSS3中,加入了 calc() 函數(shù)。
CSS函數(shù)
calc()
可以用在任何一個(gè)需要、
,
、
、
、或
的地方。有了
calc(),
你就可以通過計(jì)算來決定一個(gè)CSS屬性的值了。
/* property: calc(expression) */ width: calc(100% - 80px);
使用 calc() 函數(shù),我們可以在 content-box 里實(shí)現(xiàn) border-box,相對(duì)的,在 border-box 里實(shí)現(xiàn) content-box 也是可以的。
文章版權(quán)歸作者所有,未經(jīng)允許請(qǐng)勿轉(zhuǎn)載,若此文章存在違規(guī)行為,您可以聯(lián)系管理員刪除。
轉(zhuǎn)載請(qǐng)注明本文地址:http://specialneedsforspecialkids.com/yun/2225.html
摘要:標(biāo)準(zhǔn)盒模型標(biāo)準(zhǔn)所有元素可以看作盒子,在中,這一術(shù)語是用來設(shè)計(jì)和布局時(shí)使用。在標(biāo)準(zhǔn)盒模型中盒子占位高度與之一樣。不幸的是,和在怪異模式中使用自己的非標(biāo)準(zhǔn)模型。 標(biāo)準(zhǔn)盒模型(w3c標(biāo)準(zhǔn)) 所有HTML元素可以看作盒子,在CSS中,box model這一術(shù)語是用來設(shè)計(jì)和布局時(shí)使用。CSS盒模型本質(zhì)上是一個(gè)盒子,封裝周圍的HTML元素,它包括:邊距,邊框,填充,和實(shí)際內(nèi)容。 showImg(h...
摘要:盒模型的簡(jiǎn)介本文簡(jiǎn)單的總結(jié)了一些基本概念,知識(shí)點(diǎn)以及細(xì)節(jié)問題作為前端人員,盒模型是最基礎(chǔ)的知識(shí)點(diǎn),在排版與布局時(shí)不可避免與盒模型打交道。 1. 盒模型的簡(jiǎn)介 本文簡(jiǎn)單的總結(jié)了一些基本概念,知識(shí)點(diǎn)以及細(xì)節(jié)問題 作為前端人員,盒模型是最基礎(chǔ)的知識(shí)點(diǎn),在排版與布局時(shí)不可避免與盒模型打交道。 在我們編寫HTML時(shí),網(wǎng)頁上的內(nèi)容幾乎都是被包在一個(gè)個(gè)元素(當(dāng)然也可以叫做標(biāo)簽)中的,最常見的有div...
CSS盒模型以及與之相關(guān)的知識(shí)點(diǎn) 盒模型分為哪幾種 - 標(biāo)準(zhǔn)盒模型 - IE盒模型 兩者區(qū)別在于 width 和 height 計(jì)算方式上的不同: 標(biāo)準(zhǔn)盒模型 width = content width; IE核模型 width = content width + padding + border CSS 如何來設(shè)置這兩種模型 box-sizing: border-box box-siz...
CSS盒模型以及與之相關(guān)的知識(shí)點(diǎn) 盒模型分為哪幾種 - 標(biāo)準(zhǔn)盒模型 - IE盒模型 兩者區(qū)別在于 width 和 height 計(jì)算方式上的不同: 標(biāo)準(zhǔn)盒模型 width = content width; IE核模型 width = content width + padding + border CSS 如何來設(shè)置這兩種模型 box-sizing: border-box box-siz...
CSS盒模型以及與之相關(guān)的知識(shí)點(diǎn) 盒模型分為哪幾種 - 標(biāo)準(zhǔn)盒模型 - IE盒模型 兩者區(qū)別在于 width 和 height 計(jì)算方式上的不同: 標(biāo)準(zhǔn)盒模型 width = content width; IE核模型 width = content width + padding + border CSS 如何來設(shè)置這兩種模型 box-sizing: border-box box-siz...
閱讀 724·2023-04-25 19:43
閱讀 3921·2021-11-30 14:52
閱讀 3794·2021-11-30 14:52
閱讀 3859·2021-11-29 11:00
閱讀 3790·2021-11-29 11:00
閱讀 3883·2021-11-29 11:00
閱讀 3562·2021-11-29 11:00
閱讀 6138·2021-11-29 11:00