這篇文章主要介紹了css怎樣設(shè)置多列等高布局,具有一定借鑒價值,需要的朋友可以參考下。希望大家閱讀完這篇文章后大有收獲。下面讓小編帶著大家一起了解一下。
創(chuàng)新互聯(lián)建站專注于企業(yè)營銷型網(wǎng)站建設(shè)、網(wǎng)站重做改版、合山網(wǎng)站定制設(shè)計(jì)、自適應(yīng)品牌網(wǎng)站建設(shè)、html5、商城網(wǎng)站開發(fā)、集團(tuán)公司官網(wǎng)建設(shè)、外貿(mào)網(wǎng)站制作、高端網(wǎng)站制作、響應(yīng)式網(wǎng)頁設(shè)計(jì)等建站業(yè)務(wù),價格優(yōu)惠性價比高,為合山等各大城市提供網(wǎng)站開發(fā)制作服務(wù)。
初始時,多個列內(nèi)容大小不同,高度不同。現(xiàn)在需要設(shè)置不同的背景來顯示,而且各個列的高度需要保持一致。那么這就需要利用到多列等高布局。
最終需要的效果:
1. 真實(shí)等高布局
flex 技術(shù)點(diǎn):彈性盒子布局flex,默認(rèn)值就是自帶等高布局的特點(diǎn)。
定義flex布局的時候,有一些默認(rèn)值。
flex-direction
屬性定義主軸的方向。默認(rèn)值為 row
,一般是水平顯示。flex容器的主軸被定義為與文本方向相同。 主軸起點(diǎn)和主軸終點(diǎn)與內(nèi)容方向相同。
align-item
屬性定義flex子項(xiàng)在flex容器的當(dāng)前行的側(cè)軸(縱軸)方向上的對齊方式。默認(rèn)值為 stretch
,元素被拉伸以適應(yīng)容器。
css
.box { display: flex; } .left { width: 300px; background-color: grey; } .center { flex: 1; background: red; } .right { width: 500px; background: yellow; }
See the Pen equal-hight-layout-flex by weiqinl ( @weiqinl ) on CodePen .
2. 真實(shí)等高布局
table-cell 技術(shù)點(diǎn):table布局天然就具有等高的特性。
display設(shè)置為 HTML結(jié)構(gòu)
CSS樣式 3. 假等高列布局 內(nèi)外邊距底部正負(fù)值 實(shí)現(xiàn):設(shè)置父容器的overflow屬性為hidden。給每列設(shè)置比較大的底內(nèi)邊距,然后用數(shù)值相似的負(fù)外邊距消除這個高度。 不考慮可擴(kuò)展性,只需要將padding-bottom/margin-bottom ,設(shè)置為最高列與最低列相差高度值,就可以得到等高效果。 考慮擴(kuò)展性,為了防止將來可能某列高度大量的增加或減少,所有,我們設(shè)置了一個比較大的值。 技術(shù)點(diǎn) background 會填充內(nèi)邊距 padding,而不會填充外邊距 margin 。margin具有坍塌性,可以設(shè)置負(fù)值。 float:left。使用float,元素會脫離文檔流,使其浮動至最近的文檔流元素。在這里的作用是,將三個p元素并排。 overflow:hidden; 設(shè)置overflow屬性為hidden,同時會產(chǎn)生 塊級格式化上下文(BFC),消除float帶來的影響。同時,根據(jù)需要,會截取內(nèi)容以適應(yīng)填充框,將超出容器的部分隱藏。 HTML結(jié)構(gòu)
CSS 4. 假等高布局,背景視覺效果 技術(shù)點(diǎn): float浮動,并設(shè)置每一列的寬度。設(shè)置父元素為行內(nèi)塊級元素,之后再利用線性漸變的圖片來設(shè)置父元素的背景凸顯等高的效果 CSS
css 感謝你能夠認(rèn)真閱讀完這篇文章,希望小編分享css怎樣設(shè)置多列等高布局內(nèi)容對大家有幫助,同時也希望大家多多支持創(chuàng)新互聯(lián),關(guān)注創(chuàng)新互聯(lián)行業(yè)資訊頻道,遇到問題就找創(chuàng)新互聯(lián),詳細(xì)的解決方法等著你來學(xué)習(xí)!table-cell
,則此元素會作為一個表格單元格顯示。類似于使用標(biāo)簽 或者 。 .left {
display: table-cell;
width:30%;
background-color: greenyellow;
}
.center {
display: table-cell;
width:30%;
background-color: gray;
}
.right {
display: table-cell;
width:30%;
background-color: yellowgreen;
}
.box {
overflow: hidden;
}
.box > p{
/**
* padding-bottom 設(shè)置比較大的正值。
* margin-bottom 設(shè)置絕對值大的負(fù)值。
**/
padding-bottom: 10000px;
margin-bottom: -10000px;
float:left;
width:30%;
}
.left {
background-color: greenyellow;
}
.center {
background-color: gray;
}
.right {
background-color: yellowgreen;
}
linear-gradient
函數(shù)用于創(chuàng)建一個表示兩種或多種顏色線性漸變的圖片。display: inline-block
,設(shè)置為行內(nèi)塊級元素。/** 需要自己算出平均每列的寬度 */
.box {
display: inline-block;
background: linear-gradient(
to right,
red,
red 20%,
blue 20%,
blue 40%,
yellow 40%,
yellow 60%,
orange 60%,
orange 80%,
grey 80%,
grey);
}
.col {
float: left;
width: 16%;
padding: 2%;
}
新聞名稱:css怎樣設(shè)置多列等高布局
URL分享:http://m.jcarcd.cn/article/josgjc.html
其他資訊