美文网首页让前端飞前端札记
自适应缩放图文列表

自适应缩放图文列表

作者: kerush | 来源:发表于2018-12-13 16:38 被阅读27次
    前端入坑纪 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%
            }
    
    
    1. li以display:flex来展现,这样的话,里面的div和p这类子元素可以很好的控制,比float好用多了。
    2. flex-flow控制子元素的方向和是否换行, justify-content: space-around;设定子元素的主轴排列方式,align-items: center;设定子元素的侧轴排列方式
    3. flex: 1 1 auto; 是对子元素的缩放和大小进行对应设置
      ps: flex还是很好用的,感兴趣的小伙伴,百度详情哦

    其实对列表里的图片,object-fit:cover 可以很方便的做到上述效果,不过依旧是兼容问题,你懂得,期待前端环境越来越好。

    好了,到此,本文告一段落!感谢您的阅读!祝你身体健康,阖家幸福!
    支持你我,扫一扫红包

    相关文章

      网友评论

        本文标题:自适应缩放图文列表

        本文链接:https://www.haomeiwen.com/subject/lsdvhqtx.html