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 18 HTML / CSS
CSS3 制作绽放的莲花采用效果叠加实现
Jan 31 HTML / CSS
CSS3实现多重边框的方法总结
May 31 HTML / CSS
使用CSS3实现一个3D相册效果实例
Dec 03 HTML / CSS
详解如何使用CSS3中的结构伪类选择器和伪元素选择器
Jan 06 HTML / CSS
实例讲解利用HTML5 Canvas API操作图形旋转的方法
Mar 22 HTML / CSS
微信小程序canvas实现水平、垂直居中效果
Feb 05 HTML / CSS
html5实现输入框fixed定位在屏幕最底部兼容性
Jul 03 HTML / CSS
amaze ui 的使用详细教程
Aug 19 HTML / CSS
详解如何解决H5开发使用wx.hideMenuItems无效果不生效
Jan 20 HTML / CSS
5个HTML5的常用本地存储方式详解与介绍
Mar 27 HTML / CSS
CSS3实现模糊背景的三种效果示例
Mar 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
先进的自动咖啡技术,真的可以取代咖啡师吗?
2021/03/06 冲泡冲煮
Linux下 php5 MySQL5 Apache2 phpMyAdmin ZendOptimizer安装与配置[图文]
2008/11/18 PHP
数组与类使用PHP的可变变量名需要的注意的问题
2013/06/20 PHP
在PHP中使用redis
2013/11/04 PHP
菜鸟学习JavaScript小实验之函数引用
2010/11/17 Javascript
验证码在IE中不刷新而谷歌等浏览器正常的解决方案
2014/03/18 Javascript
JS实现清除指定cookies的方法
2014/09/20 Javascript
JavaScript简单下拉菜单实例代码
2015/09/07 Javascript
JS动态添加iframe的代码
2015/09/14 Javascript
AngularJS 指令的交互详解及实例代码
2016/09/14 Javascript
JavaScript职责链模式概述
2016/09/17 Javascript
Javascript 实现全屏滚动实例代码
2016/12/31 Javascript
js学习总结之DOM2兼容处理this问题的解决方法
2017/07/27 Javascript
JS实现的按钮点击颜色切换功能示例
2017/10/19 Javascript
JS实现获取自定义属性data值的方法示例
2018/12/19 Javascript
一个小时快速搭建微信小程序的方法步骤
2019/04/15 Javascript
简单了解微信小程序的目录结构
2019/07/01 Javascript
微信小程序左滑删除实现代码实例
2019/09/16 Javascript
javascript实现多边形碰撞检测
2020/10/24 Javascript
简单谈谈python中的多进程
2016/11/06 Python
python 巧用正则寻找字符串中的特定字符的位置方法
2018/05/02 Python
TensorFlow 滑动平均的示例代码
2018/06/19 Python
使用python itchat包爬取微信好友头像形成矩形头像集的方法
2019/02/21 Python
python图形开发GUI库pyqt5的基本使用方法详解
2020/02/14 Python
Spring http服务远程调用实现过程解析
2020/06/11 Python
matplotlib事件处理基础(事件绑定、事件属性)
2021/02/03 Python
肯尼亚网上商城:Kilimall
2016/08/20 全球购物
Molly Bracken法国电子商店:法国女性时尚品牌
2019/07/24 全球购物
美国亚马逊旗下男装网站:East Dane(支持中文)
2019/09/25 全球购物
文件中有一组整数,要求排序后输出到另一个文件中
2012/01/04 面试题
暑期实习鉴定
2013/12/16 职场文书
啦啦队口号大全
2014/06/16 职场文书
实习生工作证明范本
2014/09/14 职场文书
党员批评与自我批评总结
2014/10/15 职场文书
开学第一天的感想
2015/08/10 职场文书
2016入党心得体会范文
2016/01/06 职场文书