html设置多列布局间隙,css设置多列等高布局的方法示例

1.真实等高布局

flex技术点:弹性盒子布局flex,默认值就是自带等高布局的特点。

定义flex布局的时候,有一些默认值。

flex-direction属性定义主轴的方向。默认值为row,一般是水平显示。flex容器的主轴被定义为与文本方向相同。主轴起点和主轴终点与内容方向相同。

align-item属性定义flex子项在flex容器的当前行的侧轴(纵轴)方向上的对齐方式。默认值为stretch,元素被拉伸以适应容器。

css

.box{

display:flex;

}

.left{

width:300px;

background-color:grey;

}

.center{

flex:1;

background:red;

}

.right{

width:500px;

background:yellow;

}

SeethePenequal-hight-layout-flexbyweiqinl(@weiqinl)onCodePen.

2.真实等高布局

table-cell技术点:table布局天然就具有等高的特性。

display设置为table-cell,则此元素会作为一个表格单元格显示。类似于使用标签

或者。

HTML结构

CSS样式

.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;

}

3.假等高列布局内外边距底部正负值

实现:设置父容器的overflow属性为hidden。给每列设置比较大的底内边距,然后用数值相似的负外边距消除这个高度。

不考虑可扩展性,只需要将padding-bottom/margin-bottom,设置为最高列与最低列相差高度值,就可以得到等高效果。

考虑扩展性,为了防止将来可能某列高度大量的增加或减少,所有,我们设置了一个比较大的值。

技术点

background会填充内边距padding,而不会填充外边距margin。margin具有坍塌性,可以设置负值。

float:left。使用float,元素会脱离文档流,使其浮动至最近的文档流元素。在这里的作用是,将三个p元素并排。

overflow:hidden;设置overflow属性为hidden,同时会产生块级格式化上下文(BFC),消除float带来的影响。同时,根据需要,会截取内容以适应填充框,将超出容器的部分隐藏。

HTML结构

CSS

.box{

overflow:hidden;

}

.box>p{

/**

*padding-bottom设置比较大的正值。

*margin-bottom设置绝对值大的负值。

**/

padding-bottom:10000px;

margin-bottom:-10000px;

float:left;

width:30%;

}

.left{

background-color:greenyellow;

}

.center{

background-color:gray;

}

.right{

background-color:yellowgreen;

}

4.假等高布局,背景视觉效果

技术点:float浮动,并设置每一列的宽度。设置父元素为行内块级元素,之后再利用线性渐变的图片来设置父元素的背景凸显等高的效果

CSSlinear-gradient函数用于创建一个表示两种或多种颜色线性渐变的图片。

display:inline-block,设置为行内块级元素。

css

/**需要自己算出平均每列的宽度*/

.box{

display:inline-block;

background:linear-gradient(

toright,

red,

red20%,

blue20%,

blue40%,

yellow40%,

yellow60%,

orange60%,

orange80%,

grey80%,

grey);

}

.col{

float:left;

width:16%;

padding:2%;

}

1c3ace27c77b5ae5890782f8ddf412de.png

71605382ff7d894d6cbdab3cb9f4ce98.png

本文转载自中文网

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值