flex space-between最后一行对齐问题的解决方案
2020-01-03 16:00:31来源:博客园 阅读 ()
flex space-between最后一行对齐问题的解决方案
背景
常见的一个图文列表设计,通常是这样的,两端顶着容器,中间的间距平均分,如下图的某东商品列表的设计:
列表是这样自适应的,当视窗足够放多少个商品就放多少个,然后各个商品项目之间的间距平均分。由于每个人的视窗都可能不同,因此所看到的间距或者每一行的个数都会不同。
方案
想到这种设计,我们学过flex就知道,非常像flex的justify-content: space-between的效果,因此我们自然这样实现:
.flex { list-style: none; margin: 0; padding: 0; box-sizing: border-box; display: flex; flex-wrap: wrap; justify-content: space-between; } .demo1 > .flex__item { flex-basis: 200px; margin-top: 1rem; text-align: center; box-sizing: border-box; } .demo1 > .flex__item img { width: 100%; }
<ul class="flex demo1"> <li class="flex__item"> <img src="http://via.placeholder.com/100" /> <p> 图片 </p> </li> <li class="flex__item"> <img src="http://via.placeholder.com/100" /> <p> 图片 </p> </li> <li class="flex__item"> <img src="http://via.placeholder.com/100" /> <p> 图片 </p> </li> <li class="flex__item"> <img src="http://via.placeholder.com/100" /> <p> 图片 </p> </li> <li class="flex__item"> <img src="http://via.placeholder.com/100" /> <p> 图片 </p> </li> </ul>
demo: https://jsbin.com/yulevutodo/edit?html,css,output
问题
我们看到效果,最后一行不正确,应该向左对齐才对。
大家有什么好的解决方案(为了保证兼容性,所以不希望用grid等)吗?
我有一个方案,但是总感觉不是最佳的,希望大家先自己想想,然后再看我的方案,免得被我带偏了,若有不错的方案,希望告知,多谢!
我的方案放在这边了:https://javascript.shop/2020/01/flex-space-between-last-row-alignment
原文链接:https://www.cnblogs.com/handboy/p/12142959.html
如有疑问请与原作者联系
标签:
版权申明:本站文章部分自网络,如有侵权,请联系:west999com@outlook.com
特别注意:本站所有转载文章言论不代表本站观点,本站所提供的摄影照片,插画,设计作品,如需使用,请与原作者联系,版权归原作者所有
下一篇:web前端-基础篇
- CSS3--flex布局 2020-05-01
- Bootstrap 滚动监听+小工具+Flex(弹性)布局+多媒体对象 2020-04-20
- 弹性盒模型 2020-04-02
- 用flex布局实现栅格系统 2020-03-15
- flex布局实例--实现底部导航 2020-03-14
IDC资讯: 主机资讯 注册资讯 托管资讯 vps资讯 网站建设
网站运营: 建站经验 策划盈利 搜索优化 网站推广 免费资源
网络编程: Asp.Net编程 Asp编程 Php编程 Xml编程 Access Mssql Mysql 其它
服务器技术: Web服务器 Ftp服务器 Mail服务器 Dns服务器 安全防护
软件技巧: 其它软件 Word Excel Powerpoint Ghost Vista QQ空间 QQ FlashGet 迅雷
网页制作: FrontPages Dreamweaver Javascript css photoshop fireworks Flash