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