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 相关文章推荐
html5+css3之动画在webapp中的应用
Nov 21 HTML / CSS
探究 canvas 绘图中撤销(undo)功能的实现方式详解
May 17 HTML / CSS
用HTML5.0制作网页的教程
May 30 HTML / CSS
IE9下html5初试小刀
Sep 21 HTML / CSS
html5 canvas 使用示例
Oct 22 HTML / CSS
html5中svg canvas和图片之间相互转化思路代码
Jan 24 HTML / CSS
html5适合移动应用开发的12大特性
Mar 19 HTML / CSS
使用纯HTML5编写一款网页上的时钟的代码分享
Nov 16 HTML / CSS
HTML5拖拽的简单实例
May 30 HTML / CSS
教你使用Canvas处理图片的方法
Nov 28 HTML / CSS
浅谈html5 video 移动端填坑记
Jan 15 HTML / CSS
canvas探照灯效果的示例代码
Nov 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/03 咖啡文化
php 设计模式之 单例模式
2008/12/19 PHP
通过PHP修改Linux或Unix口令的方法分享
2012/01/30 PHP
php图片加水印原理(超简单的实例代码)
2013/01/18 PHP
Zend Framework实现具有基本功能的留言本(附demo源码下载)
2016/03/22 PHP
php模仿qq空间或朋友圈发布动态、评论动态、回复评论、删除动态或评论的功能(中)
2017/06/11 PHP
Codeigniter里的无刷新上传的实现代码
2019/04/14 PHP
PHP使用PDO创建MySQL数据库、表及插入多条数据操作示例
2019/05/30 PHP
jQuery EasyUI API 中文文档 - EasyLoader 加载器
2011/09/29 Javascript
基于JQuery的一句话搞定手风琴菜单
2012/09/14 Javascript
JS在textarea光标处插入文本的小例子
2013/03/22 Javascript
JS面向对象基础讲解(工厂模式、构造函数模式、原型模式、混合模式、动态原型模式)
2014/08/16 Javascript
jQuery实现的感应鼠标悬停图片色彩渐显效果
2015/03/03 Javascript
JavaScript动态修改背景颜色的方法
2015/04/16 Javascript
javascript实现框架高度随内容改变的方法
2015/07/23 Javascript
三种Node.js写文件的方式
2016/03/08 Javascript
纯JS前端实现分页代码
2016/06/21 Javascript
利用node.js写一个爬取知乎妹纸图的小爬虫
2017/05/03 Javascript
如何从0开始用node写一个自己的命令行程序
2018/12/29 Javascript
微信小程序云开发实现云数据库读写权限
2019/05/17 Javascript
[01:16:13]DOTA2-DPC中国联赛 正赛 SAG vs Dragon BO3 第一场 2月22日
2021/03/11 DOTA
详谈python3中用for循环删除列表中元素的坑
2018/04/19 Python
Ubuntu+python将nii图像保存成png格式
2019/07/18 Python
python脚本实现mp4中的音频提取并保存在原目录
2020/02/27 Python
使用keras实现BiLSTM+CNN+CRF文字标记NER
2020/06/29 Python
pytorch 计算Parameter和FLOP的操作
2021/03/04 Python
linux面试题参考答案(5)
2016/11/05 面试题
儿媳婚宴答谢词
2014/01/14 职场文书
单位员工收入证明样本
2014/10/09 职场文书
婚宴祝酒词大全
2015/08/10 职场文书
教师素质教育心得体会
2016/01/19 职场文书
2016年质量月活动总结报告
2016/04/05 职场文书
学校学习型党组织建设心得体会
2019/06/21 职场文书
Vue3如何理解ref toRef和toRefs的区别
2022/02/18 Vue.js
Mybatis-plus配置分页插件返回统一结果集
2022/06/21 Java/Android
Promise静态四兄弟实现示例详解
2022/07/07 Javascript