CSS3实现最后一行元素左对齐效果的方法是什么
Admin 2022-06-02 群英技术资讯 1029 次浏览
在使用justify-content:space-between
布局时,针对最后一行元素使用 justify-self: start;
没有效果,查了下css3 flexbox 还未支持。
那么如何实现最后一行左对齐呢?
现有的几个方案
伪类的情况,如果最后一个元素是满的,会有占位,grid会有兼容问题,又不想新增标签。
每一行固定列数的情况实现左对齐方案
由于每一列的数目都是固定的,因此,我们可以计算出最后一个元素的margin-right
值保证完全左对齐。
假设每一行只有3列元素,那么当最后一个元素是第二列(即li:last-child:nth-child(3n + 2)
)的情况,才需要进行 margin-right
处理,距离是一个元素的宽度+空隙宽度。
假设元素宽度是$width
,上述情况所需要的距离:(100% - 3 * $width) / 2 + $width
=> (100% - $width) / 2
.list1 li:last-child:nth-child(3n + 2) { margin-right: calc((100% - $width) / 2); }
同理,一行4列的情况,需要处理两种情况,最后一个元素在第二列 和 最后一个元素在第三列的情况。
.list2 li:last-child:nth-child(4n + 2) { margin-right: calc((100% - $width) / 3 * 2); } .list2 li:last-child:nth-child(4n + 3) { margin-right: calc((100% - $width) / 3 * 1); }
点击这里查看demo 展示代码
每一行不固定列数的情况实现左对齐方案
这个我觉得最好的方案还是使用grid了,网上一堆,就不做讨论啦。
免责声明:本站发布的内容(图片、视频和文字)以原创、转载和分享为主,文章观点不代表本网站立场,如果涉及侵权请联系站长邮箱:mmqy2019@163.com进行举报,并提供相关证据,查实之后,将立刻删除涉嫌侵权内容。
猜你喜欢
这篇我们来了解CSS属性的内容,这里主要介绍字体属性、文本属性和列表属性的相关内容,下文对于这些属性都有很详细的介绍,对新手学习CSS有一定的帮助,需要的朋友可以参考了解。
这篇文章主要介绍了canvas版人体时钟的实现示例,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友们下面随着小编来一起学习学习吧
css3怎么样做三栏布局?在CSS中想要实现三栏布局有很多方法,这篇文章就给大家分享一下简单容易上手的方法,也就是用css3弹性盒子flexl来实现三栏布局,那么具体怎样做呢?下面我们来看一个示例。
本篇文章给大家带来了关于css的相关知识,其中主要介绍了float属性控制div左右浮动的相关问题,浮动,顾名思义,就是漂浮的意思。指的是一个元素脱离文档流,悬浮在父元素之上的现象,下面一起来看一下,希望对大家有帮助。
align-items中的items指的是flex 中的子项,因此align-items指的就是flex子项们相对于flex容器在垂直方向上的对齐方式。适用于所有的flex容器,单行时候垂直居中使用align-items: center。
成为群英会员,开启智能安全云计算之旅
立即注册Copyright © QY Network Company Ltd. All Rights Reserved. 2003-2020 群英 版权所有
增值电信经营许可证 : B1.B2-20140078 粤ICP备09006778号 域名注册商资质 粤 D3.1-20240008