如何用CSS写微信朋友圈的图片排列布局效果
Admin 2022-09-19 群英技术资讯 661 次浏览
首先可以打开朋友圈观察不同图片数量的几种布局,也可参考下图示例;
可以发现除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; }
总结
免责声明:本站发布的内容(图片、视频和文字)以原创、转载和分享为主,文章观点不代表本网站立场,如果涉及侵权请联系站长邮箱:mmqy2019@163.com进行举报,并提供相关证据,查实之后,将立刻删除涉嫌侵权内容。
猜你喜欢
最近有这样一个需求就是如何读取或写入本地文件系统中的文件, html5来了它提供了一套文件系统的API,可以实现文件读写,本文就介绍了如何实现本地文件的读取和写入,感兴趣的可以了解一下
css图片翻转代码为“元素{animation:名称 时间}@keyframes 名称{100%{transform:rotateY(翻转角度)}}”;animation属性可给元素绑定翻转动画,keyframes规则可设置动画的翻转动作。
相信有一点CSS基础的朋友应该都可以轻松实现一个css三角形,那么如果我们想要更酷炫的三角形效果要怎样做呢?其实我们可以用CSS3来做一个三角形叠加放大的特效,实现效果及代码如下,感兴趣的朋友可以参考。
这篇文章主要介绍了html实现随机点名器的示例代码,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友们下面随着小编来一起学习学习吧
在css中,可以利用“z-index”属性将图片置于元素最上面,该属性用于设置元素的堆叠顺序,属性的值越大,元素显示的顺序也就越靠前,语法为“图片元素{z-index:number;}”。
成为群英会员,开启智能安全云计算之旅
立即注册Copyright © QY Network Company Ltd. All Rights Reserved. 2003-2020 群英 版权所有
增值电信经营许可证 : B1.B2-20140078 粤ICP备09006778号 域名注册商资质 粤 D3.1-20240008