失眠网,内容丰富有趣,生活中的好帮手!
失眠网 > html照片4张 9张布局 css实现朋友圈照片排列布局

html照片4张 9张布局 css实现朋友圈照片排列布局

时间:2019-05-07 09:11:17

相关推荐

html照片4张 9张布局 css实现朋友圈照片排列布局

纯css实现朋友圈不同数量图片不同布局

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

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

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

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选择器判断为一张图片时,改变图片大小即可;

选择器逻辑:元素为倒数第一个元素&&第一个元素时,则可判断只有一个元素:对其样式单独设置覆盖原样式即可ulli:nth-last-child(1):first-child{

width:200px;

height:200px;

}

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

选择器逻辑: 元素为倒数第4个&&第一个的元素时, 判断为共有四个元素,

再选择 其后的 同级元素 的第 2n 个后添加margin-right属性;ulli:nth-last-child(4):first-child~li:nth-child(2n){

margin-right:32%;

}

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

width:50%;

margin-right: 0;

}

如果觉得《html照片4张 9张布局 css实现朋友圈照片排列布局》对你有帮助,请点赞、收藏,并留下你的观点哦!

本内容不代表本网观点和政治立场,如有侵犯你的权益请联系我们处理。
网友评论
网友评论仅供其表达个人看法,并不表明网站立场。