前端入坑纪 50
今天比较闲,再来分享下,最近真切体会到flex很好用,那就讲讲吧。
好,详解如下!
OK,first things first! github项目地址
好多喵HTML 结构
<ul>
<li>
<div class="imgWrp" style='background-image:url(wrap/img/cat01.jpg)'></div>
<p>喵咪冬季取暖</p>
</li>
<li>
<div class="imgWrp" style='background-image:url(wrap/img/cat02.jpg)'></div>
<p>喵咪冬季取暖</p>
</li>
<li>
<div class="imgWrp" style='background-image:url(wrap/img/cat03.jpg)'></div>
<p>喵咪冬季取暖</p>
</li>
<li>
<div class="imgWrp" style='background-image:url(wrap/img/cat05.jpg)'></div>
<p>喵咪冬季取暖</p>
</li>
<li>
<div class="imgWrp" style='background-image:url(wrap/img/cat06.jpg)'></div>
<p>喵咪冬季取暖</p>
</li>
</ul>
1.简单一个ul列表,li里面的div是用来展现图片用的,由于图片的宽高比不一定,所以当图片是背景时,background-size:cover可以很好的适配不同的比例。
CSS 结构
ul,
li {
list-style: none;
padding: 0;
margin: 0;
padding: 3px 0;
}
li {
border-bottom: 1px solid #ccc;
}
.imgWrp {
width: 0;
height: 0;
padding: 10%;
margin-right: 2%;
background-size: cover;
background-position: center center;
background-repeat: no-repeat;
overflow: hidden;
}
li {
display: flex;
flex-flow: row nowrap;
justify-content: space-around;
align-items: center;
}
li>* {
flex: 1 1 auto;
}
li>p {
width: 70%
}
- li以display:flex来展现,这样的话,里面的div和p这类子元素可以很好的控制,比float好用多了。
- flex-flow控制子元素的方向和是否换行, justify-content: space-around;设定子元素的主轴排列方式,align-items: center;设定子元素的侧轴排列方式
- flex: 1 1 auto; 是对子元素的缩放和大小进行对应设置
ps: flex还是很好用的,感兴趣的小伙伴,百度详情哦
其实对列表里的图片,object-fit:cover 可以很方便的做到上述效果,不过依旧是兼容问题,你懂得,期待前端环境越来越好。
网友评论