开发者社区> 问答> 正文

如何实现这种三列布局?

要求结构是

<ul>
    <li></li>
    <li></li>
    <li></li>
    <li></li>   
    ...
</ul>

screenshot
screenshot

展开
收起
杨冬芳 2016-06-08 12:41:29 1550 0
1 条回答
写回答
取消 提交回答
  • IT从业

    html

    <div>
        <ul>
            <li><img src="" alt=""></li>
            <li><img src="" alt=""></li>
            <li><img src="" alt=""></li>
            <li><img src="" alt=""></li>
            <li><img src="" alt=""></li>
            <li><img src="" alt=""></li>
            <li><img src="" alt=""></li>
            <li><img src="" alt=""></li>
            <li><img src="" alt=""></li>
            <li><img src="" alt=""></li>
            <li><img src="" alt=""></li>
            <li><img src="" alt=""></li>
            <li><img src="" alt=""></li>
            <li><img src="" alt=""></li>
            <li><img src="" alt=""></li>
            <li><img src="" alt=""></li>
            <li><img src="" alt=""></li>
            <li><img src="" alt=""></li>
            <li><img src="" alt=""></li>
            <li><img src="" alt=""></li>
        </ul>
    </div>

    css

    *{
        -webkit-box-sizing: border-box;
        box-sizing: border-box;
    }
    div{
        width: 500px;
    }
    ul{
        margin: 0;
        padding: 3%; // x
        list-style: none;
        background: yellow;
    }
    ul:after{
        content: '';
        display:block;
        clear: both;
    }
    li{
        padding:0 3.0927835051546393%; // x*100/(100-x); x值越大,误差越大。当x=3,宽度为500,误差在0.5px之内;
        margin: 4px 0;
        text-align: center;
        font-size: 0;
        float: left;
        width: 33.3333%;
    }
    
    img{
        background: red;
        height: 100px;
        width: 100%;
        /* max-width: 100%; */
    }

    如果用flex的话,应该很容易实现。

    2019-07-17 19:31:38
    赞同 展开评论 打赏
问答地址:
问答排行榜
最热
最新

相关电子书

更多
低代码开发师(初级)实战教程 立即下载
冬季实战营第三期:MySQL数据库进阶实战 立即下载
阿里巴巴DevOps 最佳实践手册 立即下载