在线时间:8:00-16:00
迪恩网络APP
随时随地掌握行业动态
扫描二维码
关注迪恩网络微信公众号
初始时,多个列内容大小不同,高度不同。现在需要设置不同的背景来显示,而且各个列的高度需要保持一致。那么这就需要利用到多列等高布局。 最终需要的效果:
1. 真实等高布局 flex 技术点:弹性盒子布局flex,默认值就是自带等高布局的特点。 定义flex布局的时候,有一些默认值。
<div class="box"> <div class="left"></div> <div class="center"></div> <div class="right"></div> </div> 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. 真实等高布局 table-cell 技术点:table布局天然就具有等高的特性。 display设置为 HTML结构 <div class="box"> <div class="left"></div> <div class="center"></div> <div class="right"></div> </div> 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。给每列设置比较大的底内边距,然后用数值相似的负外边距消除这个高度。
技术点
HTML结构 <div class="box"> <div class="left"></div> <div class="center"></div> <div class="right"></div> </div> CSS .box { overflow: hidden; } .box > div{ /** * 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浮动,并设置每一列的宽度。设置父元素为行内块级元素,之后再利用线性渐变的图片来设置父元素的背景凸显等高的效果 CSS
<div class="box five-columns"> <div class="col"></div> <div class="col"></div> <div class="col"></div> <div class="col"></div> <div class="col"></div> </div> css /** 需要自己算出平均每列的宽度 */ .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%; } 以上就是本文的全部内容,希望对大家的学习有所帮助,也希望大家多多支持极客世界。 |
2023-10-27
2022-08-15
2022-08-17
2022-09-23
2022-08-13
请发表评论