富贵资源网 Design By www.hznty.com
首先可以打开朋友圈观察不同图片数量的几种布局,也可参考下图示例;
可以发现除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; }
总结
富贵资源网 Design By www.hznty.com
广告合作:本站广告合作请联系QQ:858582 申请时备注:广告合作(否则不回)
免责声明:本站资源来自互联网收集,仅供用于学习和交流,请遵循相关法律法规,本站一切资源不代表本站立场,如有侵权、后门、不妥请联系本站删除!
免责声明:本站资源来自互联网收集,仅供用于学习和交流,请遵循相关法律法规,本站一切资源不代表本站立场,如有侵权、后门、不妥请联系本站删除!
富贵资源网 Design By www.hznty.com
暂无评论...
RTX 5090要首发 性能要翻倍!三星展示GDDR7显存
三星在GTC上展示了专为下一代游戏GPU设计的GDDR7内存。
首次推出的GDDR7内存模块密度为16GB,每个模块容量为2GB。其速度预设为32 Gbps(PAM3),但也可以降至28 Gbps,以提高产量和初始阶段的整体性能和成本效益。
据三星表示,GDDR7内存的能效将提高20%,同时工作电压仅为1.1V,低于标准的1.2V。通过采用更新的封装材料和优化的电路设计,使得在高速运行时的发热量降低,GDDR7的热阻比GDDR6降低了70%。