您好,登錄后才能下訂單哦!
本篇內(nèi)容主要講解“css3實(shí)現(xiàn)多欄布局的方法有哪些”,感興趣的朋友不妨來(lái)看看。本文介紹的方法操作簡(jiǎn)單快捷,實(shí)用性強(qiáng)。下面就讓小編來(lái)帶大家學(xué)習(xí)“css3實(shí)現(xiàn)多欄布局的方法有哪些”吧!
css3實(shí)現(xiàn)多欄布局的方法:1、利用float實(shí)現(xiàn)多欄布局;2、利用inline-block盒模型實(shí)現(xiàn)多欄布局;3、利用“display: flex”彈性布局實(shí)現(xiàn)多欄布局;4、利用“display: table”方式實(shí)現(xiàn)多欄布局。
本教程操作環(huán)境:windows7系統(tǒng)、CSS3&&HTML5版、Dell G3電腦。
css實(shí)現(xiàn)多欄布局的幾種方式
假如把下面的三個(gè)div顯示在同一行
<div id="parent"> <div id="box1">1</div> <div id="box2">2</div> <div id="box3">3</div> </div>
1:float實(shí)現(xiàn)多欄布局
float屬性控制目標(biāo)HTML組件是否浮動(dòng)以及如何浮動(dòng)。設(shè)置該屬性過(guò)后,對(duì)象會(huì)被當(dāng)做塊組件處理。float的取值一共有四個(gè):left(向左浮動(dòng))、Right(向右浮動(dòng))、none(不浮動(dòng))、inherit(繼承父元素值),將box1,box2,box3都設(shè)置成向左浮動(dòng),浮動(dòng)元素的下一個(gè)兄弟元素如果也設(shè)置了同一浮動(dòng)方向,則會(huì)緊隨改元素顯示。
設(shè)置了float之后,元素會(huì)脫離普通文檔流。它們的父元素也不會(huì)被撐開(kāi),所以#parent的高度此時(shí)為0。
#parent>div{ border:1px solid black; float:left; width:200px; height:200px; text-align: center; } #box1{ background-color:red; } #box2{ background-color:yellow; } #box3 { background-color:blue; }
我們也可以這樣,將box1,box2,設(shè)置成向左浮動(dòng),box3不浮動(dòng)。由于box1,box2設(shè)置了浮動(dòng)之后脫離了普通文檔流。對(duì)box3來(lái)說(shuō)就像前面不存在box1,box2一樣,box3也會(huì)顯示在這一行,但是會(huì)被box1遮擋住。設(shè)置box3的 margin-left:400px;可以讓它看起來(lái)像是顯示在box1,box2后面。這個(gè)時(shí)候#parent被box3撐開(kāi),高度此時(shí)為202px。
#parent>div{ border:1px solid black; width:200px; height:200px; text-align: center; } #box1{ float:left; background-color:red; } #box2{ float:left; background-color:yellow; } #box3 { margin-left:400px; background-color:blue; }
2:inline-block盒模型
inline-block盒模型的元素既不會(huì)占據(jù)一行,同時(shí)也支持用width、height指定寬度和高度。display:inline-block 將對(duì)象呈現(xiàn)為inline對(duì)象,但是對(duì)象的內(nèi)容作為block對(duì)象呈現(xiàn)。之后的內(nèi)聯(lián)對(duì)象會(huì)被排列在同一行內(nèi)。通常需要設(shè)置vertical-align:top使其頂端對(duì)齊。
#parent>div{ display:inline-block; border:1px solid black; width:200px; height:200px; text-align: center; } #box1{ background-color:red; } #box2{ background-color:yellow; } #box3 { background-color:blue; }
inline-block水平呈現(xiàn)的元素間,換行顯示或空格分隔的情況下會(huì)有間距。把空格去掉間隙自然就會(huì)消失,這樣就不會(huì)顯示間隔。
<div id="parent"> <div id="box1">1</div><div id="box2">2</div><div id="box3">3</div> </div>
3:display: flex 彈性布局
設(shè)置#parent容器的 diaplay:flex;父容器相當(dāng)于一個(gè)彈性盒子。里面的div會(huì)按照f(shuō)lex-direction設(shè)置的模式排列。Flex彈性布局的功能就比較強(qiáng)大了,可以為盒狀模型提供最大的靈活性實(shí)現(xiàn)復(fù)雜的布局,任何一個(gè)容器都可以指定為 Flex 布局。flex-direction屬性決定主軸的方向,flex-direction: row;表示在父容器里橫向排列,flex-direction: column;表示在父容器里縱向排列。
#parent{ display: flex; flex-direction: row; } #parent>div{ border:1px solid black; width:200px; height:200px; text-align: center; } #box1{ background-color:red; } #box2{ background-color:yellow; } #box3 { background-color:blue; }
4:display: table
display:table 設(shè)置了該屬性的元素作為塊級(jí)表格來(lái)顯示,類(lèi)似 <table>。
display:table-cell 設(shè)置了該屬性的元素會(huì)作為一個(gè)表格單元格顯示,類(lèi)似 <td> 和 <th>
可以用這一系列table-row-group、table-header-group、table-footer-group、table-row等用其他標(biāo)簽實(shí)現(xiàn)類(lèi)似于表格的布局。
#parent{ display: table; } #parent>div{ display:table-cell; border:1px solid black; width:200px; height:200px; text-align: center; } #box1{ background-color:red; } #box2{ background-color:yellow; } #box3 { background-color:blue; }
到此,相信大家對(duì)“css3實(shí)現(xiàn)多欄布局的方法有哪些”有了更深的了解,不妨來(lái)實(shí)際操作一番吧!這里是億速云網(wǎng)站,更多相關(guān)內(nèi)容可以進(jìn)入相關(guān)頻道進(jìn)行查詢,關(guān)注我們,繼續(xù)學(xué)習(xí)!
免責(zé)聲明:本站發(fā)布的內(nèi)容(圖片、視頻和文字)以原創(chuàng)、轉(zhuǎn)載和分享為主,文章觀點(diǎn)不代表本網(wǎng)站立場(chǎng),如果涉及侵權(quán)請(qǐng)聯(lián)系站長(zhǎng)郵箱:is@yisu.com進(jìn)行舉報(bào),并提供相關(guān)證據(jù),一經(jīng)查實(shí),將立刻刪除涉嫌侵權(quán)內(nèi)容。