如何用CSS写微信朋友圈的图片排列布局效果

Admin 2022-09-19 群英技术资讯 450 次浏览

这篇文章给大家分享的是“如何用CSS写微信朋友圈的图片排列布局效果”,对大家学习和理解有一定的参考价值和帮助,有这方面学习需要的朋友,接下来就跟随小编一起学习一下吧。


首先可以打开朋友圈观察不同图片数量的几种布局,也可参考下图示例;

可以发现除1张图片,4张图片特殊外,其他数量图片均使用一行三列的方式排列;

假设有如下HTML代码,这里imgList是一个图片地址数组;

<ul>
    <li v-for="(item, index) in imgList" :key=index >
        <img :src="item">
    </li>
</ul>

1、首先我们使用flex实现正常的三列布局:

设置为换行,每个元素占1/3或指定宽度,除每行最后一个元素(3n)都设置margin-right并通过预留间隔;

ul{
  display: flex;
  justify-content: flex-start;
  flex-wrap: wrap;
}
li{
  width: 32%; 
  height: 100px;
  margin-top: 5px;
}
.list:not(:nth-child(3n)) {
  margin-right: 2%;
}

2、对于只有一张图片情况,只需用css选择器判断为一张图片时,改变图片大小即可;

选择器逻辑:元素为 倒数第一个元素 && 第一个元素 时,则可判断只有一个元素:对其样式单独设置覆盖原样式即可

ul li: nth-last-child(1): first-child{
  width: 200px;
  height: 200px;
}

3、对于四张图片的情况时,图片需呈 两行两列布局:这里就需对此种情况下的第二张图片添加margin-right实现三列变两列:

选择器逻辑: 元素为 倒数第4个 && 第一个的元素时, 判断为共有四个元素,
再选择 其后的 同级元素 的第 2n 个后添加margin-right属性;

ul li: nth-last-child(4): first-child ~ li: nth-child(2n){
  margin-right: 32%;
}

再次之前需对第三个元素恢复间隔,或同朋友圈类似,四张照片是不显示间隔,如有需求也可设置其他属性,如下:(此属性需在上一条属性之前)

ul li: nth-last-child(4): first-child , ul li: nth-last-child(4): first-child ~ li{
  width: 50%;
  margin-right: 0;
}

总结


这篇关于“如何用CSS写微信朋友圈的图片排列布局效果”的文章就介绍到这了,更多相关的内容,欢迎关注群英网络,小编将为大家输出更多高质量的实用文章! 群英智防CDN,智能加速解决方案
标签: css图片布局

免责声明:本站发布的内容(图片、视频和文字)以原创、转载和分享为主,文章观点不代表本网站立场,如果涉及侵权请联系站长邮箱:mmqy2019@163.com进行举报,并提供相关证据,查实之后,将立刻删除涉嫌侵权内容。

猜你喜欢

成为群英会员,开启智能安全云计算之旅

立即注册
专业资深工程师驻守
7X24小时快速响应
一站式无忧技术支持
免费备案服务
免费拨打  400-678-4567
免费拨打  400-678-4567 免费拨打 400-678-4567 或 0668-2555555
在线客服
微信公众号
返回顶部
返回顶部 返回顶部
在线客服
在线客服