程序员

css实现朋友圈照片排列布局的代码

作者:admin 2021-05-06 我要评论

首先可以打开朋友圈观察不同图片数量的几种布局,也可参考下图示例; 可以发现除1张图片,4张图片特殊外,其他数量图片均使用一行三列的方式排列; 假设有如下HTM...

在说正事之前,我要推荐一个福利:你还在原价购买阿里云、腾讯云、华为云服务器吗?那太亏啦!来这里,新购、升级、续费都打折,能够为您省60%的钱呢!2核4G企业级云服务器低至69元/年,点击进去看看吧>>>)

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

可以发现除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实现朋友圈照片排列布局的文章就介绍到这了,更多相关css 图片排列布局内容请搜索脚本之家以前的文章或继续浏览下面的相关文章,希望大家以后多多支持脚本之家!


原文链接:https://m.jb51.net/css/729878.html

版权声明:本文转载自网络,遵循 CC 4.0 BY-SA 版权协议,转载请附上原文出处链接和本声明。本站转载出于传播更多优秀技术知识之目的,如有侵权请联系QQ/微信:153890879删除

相关文章
  • css实现朋友圈照片排列布局的代码

    css实现朋友圈照片排列布局的代码

  • css样式优先级及层叠的顺序排序探讨

    css样式优先级及层叠的顺序排序探讨

  • 运用正则表达式匹配所有表名

    运用正则表达式匹配所有表名

  • JSP技术实现动态页面到静态页面的方法

    JSP技术实现动态页面到静态页面的方法

腾讯云代理商
精彩导读
海外云服务器
热门资讯
腾讯云代理商