本文小編為大家詳細(xì)介紹“CSS盒子模型及box-sizing屬性實(shí)例分析”,內(nèi)容詳細(xì),步驟清晰,細(xì)節(jié)處理妥當(dāng),希望這篇“CSS盒子模型及box-sizing屬性實(shí)例分析”文章能幫助大家解決疑惑,下面跟著小編的思路慢慢深入,一起來(lái)學(xué)習(xí)新知識(shí)吧。
創(chuàng)新互聯(lián)建站專注于企業(yè)全網(wǎng)營(yíng)銷推廣、網(wǎng)站重做改版、龍子湖網(wǎng)站定制設(shè)計(jì)、自適應(yīng)品牌網(wǎng)站建設(shè)、H5建站、商城網(wǎng)站建設(shè)、集團(tuán)公司官網(wǎng)建設(shè)、成都外貿(mào)網(wǎng)站制作、高端網(wǎng)站制作、響應(yīng)式網(wǎng)頁(yè)設(shè)計(jì)等建站業(yè)務(wù),價(jià)格優(yōu)惠性價(jià)比高,為龍子湖等各大城市提供網(wǎng)站開發(fā)制作服務(wù)。
CSS 基礎(chǔ)框盒模型是 CSS 規(guī)范的一個(gè)模塊,它定義了一種長(zhǎng)方形的盒子, 包括它們各自的內(nèi)邊距(padding)與外邊距(margin
),并根據(jù)視覺(jué)格式化模型來(lái)生成元素,對(duì)其進(jìn)行布置、編排、布局。常被直譯為盒子模型、盒模型或框模型。
盒模型有以下分類:
標(biāo)準(zhǔn)定義:
標(biāo)準(zhǔn)盒模型
怪異模式盒模型
元素類型
塊級(jí)盒子
內(nèi)聯(lián)盒子
行內(nèi)塊
寬度width
= 內(nèi)容寬度(content
) + padding
+ border
+ margin
內(nèi)容寬度僅僅只有content
。如果設(shè)置一個(gè)元素的寬為100px
,那么這個(gè)元素的內(nèi)容區(qū)會(huì)有100px
寬,并且任何邊框和內(nèi)邊距的寬度都會(huì)被增加到最后繪制出來(lái)的元素寬度中。
寬度width
= 內(nèi)容寬度(content
+ padding
+ border
) + margin
內(nèi)容寬度包含了content
、border
、padding
。如果將一個(gè)元素的width
設(shè)為100px
,那么這100px
會(huì)包含它的border
和padding
,內(nèi)容區(qū)的實(shí)際寬度是width
減去(border
+ padding
)的值。大多數(shù)情況下,這使得我們更容易地設(shè)定一個(gè)元素的寬高。
box-sizing
屬性有以下兩個(gè)屬性值。
box-sizing屬性定義如何計(jì)算一個(gè)元素的總寬度和總高度,主要設(shè)置是否需要加上內(nèi)邊距(padding)和邊框等。
例如,假如您需要并排放置兩個(gè)帶邊框的框,可通過(guò)將 box-sizing 設(shè)置為 "border-box"。這樣就可以讓瀏覽器呈現(xiàn)出帶有指定寬度和高度的框,并把邊框和內(nèi)邊距放入框中。
默認(rèn)情況下,元素的寬度(width) 和高度(height)計(jì)算方式如下:
width(寬度) + padding(內(nèi)邊距) + border(邊框) = 元素實(shí)際寬度
height(高度) + padding(內(nèi)邊距) + border(邊框) = 元素實(shí)際高度
默認(rèn)值,使用標(biāo)準(zhǔn)盒子模型。
.contentBox { box-sizing: content-box; width: 350px; border: 10px solid black; padding: 0 10px;}
以上代碼在瀏覽器中的渲染的實(shí)際寬度是390px
。
使用怪異模式盒子模型。
.borderBox { box-sizing: border-box; width: 350px; border: 10px solid black; padding: 0 10px;}
以上代碼在瀏覽器中的渲染的實(shí)際寬度就是350px
。
示例如下:
123 這個(gè) div 占據(jù)了左邊部分這個(gè) div 占據(jù)了右邊部分
輸出結(jié)果:
示例二:
通用的 box-sizing
使用 “box-sizing:border-box” 可以讓前端開發(fā)人員減少很多工作。 上面 head 部分中的第一個(gè)樣式確保所有元素都以這種更直觀的方式調(diào)整大小。 你設(shè)置的寬度就是實(shí)際的寬度,不需要考慮內(nèi)邊距和邊框:
div 的完整寬度為 300px, 不需要考慮內(nèi)邊距和邊框。
這個(gè) div 的完整寬度也是 300px, 也不需要考慮內(nèi)邊距和邊框。
輸出結(jié)果:
一個(gè)被定義成塊級(jí)的(block)盒子會(huì)表現(xiàn)出以下行為:
盒子可以占據(jù)父容器的所有可用空間
每個(gè)盒子都會(huì)換行
width
和height
屬性可以發(fā)揮作用
默認(rèn)情況下h2-h7
、p
、p
、section
都處于block
狀態(tài)
一個(gè)被定義成內(nèi)聯(lián)的(inline)盒子會(huì)表現(xiàn)出以下行為:
盒子不會(huì)產(chǎn)生換行
width
和height
屬性將不起作用
默認(rèn)情況下用做鏈接的a
元素、span
、em
以及strong
都處于inline
狀態(tài)
如果不希望一個(gè)項(xiàng)切換到新行,但希望它可以設(shè)定寬度和高度,此時(shí)我們可以將該元素設(shè)置為inline-block
。
display 屬性值 | |
---|---|
塊級(jí)盒子 | block |
內(nèi)聯(lián)盒子 | inline |
行內(nèi)塊 | inline-block |
1個(gè)值:四個(gè)方向
2個(gè)值:上下、左右
3個(gè)值:上、左右、下
4個(gè)值:上、右、下、左
border: 10px double red;
10px、雙實(shí)線、紅色邊框。
讀到這里,這篇“CSS盒子模型及box-sizing屬性實(shí)例分析”文章已經(jīng)介紹完畢,想要掌握這篇文章的知識(shí)點(diǎn)還需要大家自己動(dòng)手實(shí)踐使用過(guò)才能領(lǐng)會(huì),如果想了解更多相關(guān)內(nèi)容的文章,歡迎關(guān)注創(chuàng)新互聯(lián)行業(yè)資訊頻道。