css3 flex布局 justify-content:space-between 最后一行左对齐


Posted in HTML / CSS onJanuary 02, 2020

在使用justify-content:space-between布局时,针对最后一行元素使用 justify-self: start;没有效果,查了下css3 flexbox 还未支持。

那么如何实现最后一行左对齐呢?

现有的几个方案

  • 使用标签元素补全缺的item
  • 使用grid
  • 使用伪类

伪类的情况,如果最后一个元素是满的,会有占位,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);
}

css3 flex布局 justify-content:space-between 最后一行左对齐

同理,一行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);
}

css3 flex布局 justify-content:space-between 最后一行左对齐

点击这里查看demo 展示代码

每一行不固定列数的情况实现左对齐方案

这个我觉得最好的方案还是使用grid了,网上一堆,就不做讨论啦。

以上就是本文的全部内容,希望对大家的学习有所帮助,也希望大家多多支持三水点靠木。

HTML / CSS 相关文章推荐
纯css3实现的鼠标悬停动画按钮
Dec 23 HTML / CSS
详解CSS3 Media Queries中媒体属性的使用
Feb 29 HTML / CSS
CSS3的column-fill属性对齐列内容高度的用法详解
Jul 01 HTML / CSS
使用CSS3滤镜的filter:blur属性制作毛玻璃模糊效果的方法
Jul 08 HTML / CSS
使用CSS3实现SVG路径描边动画效果入门教程
Oct 21 HTML / CSS
HTML5中使用postMessage实现Ajax跨域请求的方法
Apr 19 HTML / CSS
HTML5混合开发二维码扫描以及调用本地摄像头
Dec 27 HTML / CSS
HTML5实现锚点时请使用id取代name
Sep 06 HTML / CSS
HTML5 canvas基本绘图之绘制五角星
Jun 27 HTML / CSS
详解使用HTML5 Canvas创建动态粒子网格动画
Dec 14 HTML / CSS
吃透移动端 1px的具体用法
Dec 16 HTML / CSS
CSS 新特性 contain控制页面的重绘与重排问题
Apr 30 HTML / CSS
详解CSS3新增的背景属性
Dec 25 #HTML / CSS
CSS3实现缺角矩形,折角矩形以及缺角边框
Dec 20 #HTML / CSS
css3实现背景动态渐变效果
Dec 10 #HTML / CSS
css3动画 小球滚动 js控制动画暂停
Nov 29 #HTML / CSS
CSS3实现酷炫的3D旋转透视效果
Nov 21 #HTML / CSS
CSS实现半透明边框与多重边框的场景分析
Nov 13 #HTML / CSS
CSS3 新增选择器的实例
Nov 13 #HTML / CSS
You might like
php读取torrent种子文件内容的方法(测试可用)
2016/05/03 PHP
php微信公众号开发之校园图书馆
2018/10/20 PHP
一款JavaScript压缩工具:X2JSCompactor
2007/06/13 Javascript
简单漂亮的js弹窗可自由拖拽且兼容大部分浏览器
2013/10/22 Javascript
jquery实现的导航固定效果
2014/04/28 Javascript
jQuery中next方法用法实例
2015/04/24 Javascript
深入浅析NodeJs并发异步的回调处理
2015/12/21 NodeJs
jQuery动画效果相关方法实例分析
2015/12/31 Javascript
Node.js静态文件服务器改进版
2016/01/10 Javascript
AngularJS ng-bind-template 指令详解
2016/07/30 Javascript
AngularJS基础 ng-model-options 指令简单示例
2016/08/02 Javascript
Bootstrap select下拉联动(jQuery cxselect)
2017/01/04 Javascript
Webpack中css-loader和less-loader的使用教程
2017/04/27 Javascript
Angularjs单选框相关的示例代码
2017/08/17 Javascript
H5实现仿flash效果的实现代码
2017/09/29 Javascript
解决layui动态加载复选框无法选中的问题
2019/09/20 Javascript
vue + elementUI实现省市县三级联动的方法示例
2019/10/29 Javascript
浅析Vue 中的 render 函数
2020/02/28 Javascript
Python代码的打包与发布详解
2014/07/30 Python
django_orm查询性能优化方法
2018/08/20 Python
python中字典按键或键值排序的实现代码
2019/08/27 Python
给你一面国旗 教你用python画中国国旗
2019/09/24 Python
python实现批量文件重命名
2019/10/31 Python
使用python快速在局域网内搭建http传输文件服务的方法
2019/11/14 Python
tensorflow 分类损失函数使用小记
2020/02/18 Python
Django Xadmin多对多字段过滤实例
2020/04/07 Python
详解通过变换矩阵实现canvas的缩放功能
2019/01/14 HTML / CSS
HTML5适合的情人节礼物有纪念日期功能
2021/01/25 HTML / CSS
Charles & Keith欧盟:新加坡时尚品牌
2019/08/01 全球购物
Deux par Deux官方网站:设计师童装
2020/01/03 全球购物
Haggar官网:美国男装品牌
2020/02/16 全球购物
Ibatis中如何提高SQL Map的性能
2013/05/11 面试题
销售目标责任书
2014/07/23 职场文书
离婚协议书的书写要求
2014/09/17 职场文书
挂靠协议书
2015/01/27 职场文书
Win10此设备不支持接收Miracast无法投影的解决方法
2022/07/07 数码科技