css3彈性盒模型實(shí)例介紹
發(fā)布時(shí)間:2013-05-27 14:58:04 作者:佚名
我要評(píng)論

Css3引入了新的盒模型——彈性盒模型決定一個(gè)盒子在其他盒子中的分布方式以及如何處理可用的空間,使用該模型,可以很輕松的創(chuàng)建自適應(yīng)瀏覽器窗口的流動(dòng)布局或自適應(yīng)字體大小的彈性布局
Css3引入了新的盒模型——彈性盒模型,該模型決定一個(gè)盒子在其他盒子中的分布方式以及如何處理可用的空間。這與XUL(火狐使用的用戶交互語言)相似,其它語言也使用相同的盒模型,如XAML 、GladeXML。使用該模型,可以很輕松的創(chuàng)建自適應(yīng)瀏覽器窗口的流動(dòng)布局或自適應(yīng)字體大小的彈性布局。本文的例子使用以下的HTML代碼:
<body>
<div id="box1">1</div>
<div id="box2">2</div>
<div id="box3">3</div>
</body>
傳統(tǒng)的盒模型基于HTML流在垂直方向上排列盒子。使用彈性盒模型可以規(guī)定特定的順序,也可以反轉(zhuǎn)之。要開啟彈性盒模型,只需設(shè)置擁有子盒子的盒子的display的屬性值為box(或inline-box)即可。
display: box;
水平或垂直分布
“box-orient”定義分布的坐標(biāo)軸:vertical和horizional。這兩個(gè)值定義盒子如何顯示,
body{
display: box;
box-orient: horizontal;
}
反向分布
“box-direction”可以設(shè)置盒子出現(xiàn)的順序。默認(rèn)情況下,只需定義分布坐標(biāo)軸——box隨html流分布。如果為水平坐標(biāo)軸,則從左到右分布;垂直坐標(biāo)軸則從上到下分布。定義“box-direction”的屬性值為“reverse”,則反轉(zhuǎn)盒子的排列順序。
body {
display: box;
box-orient: vertical;
box-direction: reverse;
}

具體分布
屬性“box-ordinal-group”定義盒子分布的順序。可以隨意的控制其分布順序。這些組以一個(gè)從“1”開始的數(shù)字定義,盒模型將首先分布這些組,所有這些盒子將在每個(gè)組中。分布將從小到大排列。
body {
display: box;
box-orient: vertical;
box-direction : reverse;
}
#box1 {box-flex:1;box-ordinal-group: 2;}
#box2 {box-flex:2;box-ordinal-group: 2;}
#box3 {box-flex:2;box-ordinal-group: 1;}
盒子尺寸
默認(rèn)情況下,盒子并不具有彈性,如果box-flex的屬性值至少為1時(shí),則變得富有彈性。box-flex如何對(duì)父容器的寬度進(jìn)行劃分,三個(gè)子塊分別設(shè)置了1、2、2,也就是把這個(gè)父容器分成5份,分別占據(jù)了父結(jié)構(gòu)寬度的1/5(100px)、2/5(200px)、2/5(200px)。如果盒子不具有彈性,它將盡可能的寬使其內(nèi)容可見,且沒有任何溢出,其大小由“width”和“height”來決定(或min-height、min-width、max-width、max-height)。
復(fù)制代碼
代碼如下:<body>
<div id="box1">1</div>
<div id="box2">2</div>
<div id="box3">3</div>
</body>
傳統(tǒng)的盒模型基于HTML流在垂直方向上排列盒子。使用彈性盒模型可以規(guī)定特定的順序,也可以反轉(zhuǎn)之。要開啟彈性盒模型,只需設(shè)置擁有子盒子的盒子的display的屬性值為box(或inline-box)即可。
display: box;
水平或垂直分布
“box-orient”定義分布的坐標(biāo)軸:vertical和horizional。這兩個(gè)值定義盒子如何顯示,
復(fù)制代碼
代碼如下:body{
display: box;
box-orient: horizontal;
}

反向分布
“box-direction”可以設(shè)置盒子出現(xiàn)的順序。默認(rèn)情況下,只需定義分布坐標(biāo)軸——box隨html流分布。如果為水平坐標(biāo)軸,則從左到右分布;垂直坐標(biāo)軸則從上到下分布。定義“box-direction”的屬性值為“reverse”,則反轉(zhuǎn)盒子的排列順序。
復(fù)制代碼
代碼如下:body {
display: box;
box-orient: vertical;
box-direction: reverse;
}

具體分布
屬性“box-ordinal-group”定義盒子分布的順序。可以隨意的控制其分布順序。這些組以一個(gè)從“1”開始的數(shù)字定義,盒模型將首先分布這些組,所有這些盒子將在每個(gè)組中。分布將從小到大排列。
復(fù)制代碼
代碼如下:body {
display: box;
box-orient: vertical;
box-direction : reverse;
}
#box1 {box-flex:1;box-ordinal-group: 2;}
#box2 {box-flex:2;box-ordinal-group: 2;}
#box3 {box-flex:2;box-ordinal-group: 1;}
盒子尺寸
默認(rèn)情況下,盒子并不具有彈性,如果box-flex的屬性值至少為1時(shí),則變得富有彈性。box-flex如何對(duì)父容器的寬度進(jìn)行劃分,三個(gè)子塊分別設(shè)置了1、2、2,也就是把這個(gè)父容器分成5份,分別占據(jù)了父結(jié)構(gòu)寬度的1/5(100px)、2/5(200px)、2/5(200px)。如果盒子不具有彈性,它將盡可能的寬使其內(nèi)容可見,且沒有任何溢出,其大小由“width”和“height”來決定(或min-height、min-width、max-width、max-height)。
相關(guān)文章
CSS3 最強(qiáng)二維布局系統(tǒng)之Grid 網(wǎng)格布局
CS3的Grid網(wǎng)格布局是目前最強(qiáng)的二維布局系統(tǒng),可以同時(shí)對(duì)列和行進(jìn)行處理,將網(wǎng)頁劃分成一個(gè)個(gè)網(wǎng)格,可以任意組合不同的網(wǎng)格,做出各種各樣的布局,本文介紹CSS3 最強(qiáng)二維布局系2025-02-27- 本文介紹了如何使用CSS3的transform屬性和動(dòng)畫技巧實(shí)現(xiàn)波浪式圖片墻,通過設(shè)置圖片的垂直偏移量,并使用動(dòng)畫使其周期性地改變位置,可以創(chuàng)建出動(dòng)態(tài)且具有波浪效果的圖片墻,同2025-02-27
CSS3模擬實(shí)現(xiàn)一個(gè)雷達(dá)探測(cè)掃描動(dòng)畫特效(最新推薦)
文章介紹了如何使用CSS3實(shí)現(xiàn)一個(gè)雷達(dá)探測(cè)掃描的效果,包括夜色背景、蜘蛛網(wǎng)盤、掃描體的轉(zhuǎn)動(dòng)效果、尾巴陰影以及被掃描到的光點(diǎn),通過HTML和CSS的配合,實(shí)現(xiàn)了豐富的動(dòng)畫效果,2025-02-21- CSS3的Flexbox是一種強(qiáng)大的布局模式,通過設(shè)置display:flex可以輕松實(shí)現(xiàn)對(duì)齊、排列和分布網(wǎng)頁元素,它解決了傳統(tǒng)布局方法中的對(duì)齊、間距分配和自適應(yīng)布局等問題,接下來通過本2025-02-19
css3 實(shí)現(xiàn)icon刷新轉(zhuǎn)動(dòng)效果
本文給大家介紹css3 實(shí)現(xiàn)icon刷新轉(zhuǎn)動(dòng)效果,文章開頭給大家介紹了webkit-transform、animation、@keyframes這三個(gè)屬性,結(jié)合實(shí)例代碼給大家介紹的非常詳細(xì),感興趣的朋友一2025-02-19CSS3動(dòng)態(tài)效果之過渡屬性(最新推薦)
CSS3過渡屬性用于實(shí)現(xiàn)元素從一種樣式平滑過渡到另一種樣式,通過設(shè)置transition-property過渡屬性、transition-duration過渡時(shí)長(zhǎng)transition-timing-function過渡函數(shù)和trans2025-02-19CSS3實(shí)現(xiàn)動(dòng)態(tài)旋轉(zhuǎn)加載樣式的示例代碼
本文介紹了如何使用CSS3創(chuàng)建一個(gè)簡(jiǎn)單的動(dòng)態(tài)旋轉(zhuǎn)加載樣式,通過定義一個(gè)帶有類名“l(fā)oader”的HTML元素,并使用CSS樣式和@keyframes規(guī)則來實(shí)現(xiàn)旋轉(zhuǎn)動(dòng)畫,你可以根據(jù)需要調(diào)整樣式2025-02-19使用CSS3實(shí)現(xiàn)平滑的過渡動(dòng)畫效果(實(shí)例代碼)
這篇文章主要介紹了如何使用CSS3的transition屬性實(shí)現(xiàn)平滑的過渡動(dòng)畫,本文通過實(shí)例代碼給大家介紹的非常詳細(xì),感興趣的朋友一起看看吧2025-02-13CSS3中使用flex和grid實(shí)現(xiàn)等高元素布局的示例代碼
本文介紹了使用CSS3中的Flexbox和Grid布局實(shí)現(xiàn)等高元素布局的方法,通過簡(jiǎn)單的兩列實(shí)現(xiàn)、每行放置3列以及全部代碼的展示,展示了這兩種布局方式的實(shí)現(xiàn)細(xì)節(jié)和效果,感興趣的朋2025-02-11使用CSS3和SVG創(chuàng)建圓形進(jìn)度條動(dòng)畫效果
CSS3和SVG的結(jié)合使用為網(wǎng)頁設(shè)計(jì)帶來了創(chuàng)新的動(dòng)態(tài)視覺效果,本文通過一個(gè)圓形進(jìn)度條的動(dòng)畫特效示例,展示了如何利用CSS3的動(dòng)畫功能和SVG的矢量圖形能力來創(chuàng)建豐富的用戶交互體2024-10-24