解决flex布局space-between 最后一行不对齐的问题

news2024/10/7 2:25:19

出现的问题:

方法一:给父级元素后面添加伪元素

在父盒子的样式里添加下列代码:

&::after {
					content: '';
					flex: auto;
				}

方法二:计算 

适用于每一行列数固定,且列宽度固定,需要进行计算,相比较复杂

方案: 对于最后一行的元素动态设置margin-right。判断如果最后一个元素处于当前列,会发生布局错乱,则设置元素的 margin-right 为剩余空间的大小(剩余列宽度+剩余间隙大小)。假设元素宽度是$width,总间隙是 $space(盒子宽度-元素宽度*列数)。

计算公式: margin-right: calc( ($space / 间隙数) * 剩余列数 + $width * 剩余列数 )

三列布局

计算方法:

最后一个元素所处列数剩余空间margin-right
第二列(li:last-child:nth-child(3n - 1))第三个元素宽度+剩余间隙($space / 2) * 1 + $width * 1

代码:

<ul>
  <li></li>
  <li></li>
  <li></li>
  <li></li>
  <li></li>
</ul>

 

ul {
  display: flex;
  flex-wrap: wrap;
  justify-content: space-between;
}

li {
  width: 30%;
  margin-bottom: 20px;
  height: 200px;
  background: pink;
}

/* 三列布局,li宽度为30%,则剩余间隙:100% - 30% * 3 = 10% */
/* 如果最后一行是2个元素 calc(10% / 2 * 1 + 30% * 1) 可简化 */
ul>li:last-child:nth-child(3n - 1) { margin-right: calc(10% / 2 + 30%) }

四列布局

计算方法:

最后一个元素所处列数剩余空间margin-right
第二列(li:last-child:nth-child(4n - 2))

第三个元素宽度+第四个元素宽度+剩余间隙

($space / 3) * 2 + $width * 2
第三列(li:last-child:nth-child(4n - 1))第四个元素宽度+剩余间隙($space / 3) * 1 + $width * 1
/* 四列布局,li宽度为22%,则剩余间隙:100% - 22% * 4 = 12% */
/* 如果最后一行是2个元素 calc(12% / 3 * 2 + 22% * 2) 可简化 */
ul>li:last-child:nth-child(4n - 2) { margin-right: calc(24% / 3 + 44%) }
/* 如果最后一行是3个元素 calc(12% / 3 * 1 + 22% * 1) 可简化 */
ul>li:last-child:nth-child(4n - 1) { margin-right: calc(12% / 3 + 22%) }

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.coloradmin.cn/o/1083419.html

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈,一经查实,立即删除!

相关文章

ChatGPT或将引发现代知识体系转变

作为当下大语言模型的典型代表&#xff0c;ChatGPT对人类学习方式和教育发展所产生的变革效应已然引起了广泛关注。技术的快速发展在某种程度上正在“倒逼”教育领域开启更深层次的变革。在此背景下&#xff0c;教育从业者势必要学会准确识变、科学应变、主动求变、以变应变&am…

在创业公司,治愈了我的精神内耗

如果你看到下图的产品&#xff0c;你的第一反应是什么&#xff1f; 我的第一反应是&#xff0c;这样的产品会有市场吗&#xff1f;一个鼠标加上几个奇奇怪怪的键&#xff0c;披上 AI 的外衣&#xff0c;就有用户买单吗&#xff1f; 第二反应是&#xff0c;就算有市场&#xff0…

flinkcdc踩坑指南

文章目录 前言一、常见问题1.No suitable driver found for jdbc:oracle:thin:10.101.37.167:8888/orclpdb2.The db history topic or its content is fully or partially missing. Please check database history topic configuration and re-execute the snapshot3.com.verve…

【数据结构】二叉树的链式结构及实现

目录 1. 前置说明 2. 二叉树的遍历 2.1 前序、中序以及后序遍历 2.2 层序遍历 3. 节点个数及高度等 4. 二叉树的创建和销毁 1. 前置说明 在学习二叉树的基本操作前&#xff0c;需先要创建一棵二叉树&#xff0c;然后才能学习其相关的基本操作。由于现在大家对二叉树结构…

不用for循环,巧妙自动翻页获取所有数据

1、设置while循环的标记条件&#xff1b; 2、设置初始页码&#xff1b; 3、防止无限循环&#xff0c;设置最大循环次数为1000次&#xff1b; 4、当页码为第一次时&#xff0c;获取数据&#xff0c;并获取一共有多少页&#xff0c;并更新最大页码&#xff1b; 5、页码自动加…

FPGA面试题(4)(跨时钟域处理)

跨时钟域处理方法 慢->快快->慢单bit在快时钟域同步打拍&#xff0c;将信号同步到快时钟域展宽后同步打拍多bit异步FIFO异步FIFO握手信号 一.打两拍 适用于单bit跨时钟域处理所谓的打两拍就是定义两级寄存器实现延时 那为什么是打两拍&#xff0c;不是打一拍&#x…

方案:餐厅饭店AI智能视频监控可视化监管系统搭建方案

随着大众对食品卫生的要求逐渐提升&#xff0c;明厨亮灶已成为很多人选择就餐点的一大要求&#xff0c;明厨亮灶的产生对保障大众食安起到了十分显著的作用&#xff0c;后厨作为食品安全重要场所&#xff0c;需要“亮”出来&#xff0c;前厅也同时需要监控系统的保护&#xff0…

获取当日n个季度前的日期所处季度的最后一天——时间相关函数4

本文介绍的函数用于获取当日n个季度前的日期所处季度的最后一天&#xff08;有点绕&#xff0c;看后面例子就好理解了&#xff09;。 源码 def last_day_of_quarter_before_n_quarters(n):"""获取当日n个季度前的日期所处季度的最后一天:return: 当日n个季度前…

这才叫良心软件!

今年以来&#xff0c;大模型相关的技术究竟有多火&#xff0c;不用多说&#xff0c;相信大家心中也已有答案。 自GPT-4发布以来&#xff0c;各大互联网大厂都坐不住了&#xff0c;纷纷推出自己的大模型产品。 前段时间&#xff0c;“科大讯飞版”的 ChatGPT 正式上线了&#…

uniapp pc端和移动端列表上拉刷新加载分页

效果图&#xff1a; tips: 实现了pc端和移动端兼容 代码实现&#xff1a; html: <view v-if"answerList.length > 1" style"padding:30rpx 0;color:#888;text-align: center;"><view>{{loadMore}}</view> </view>data: …

一键切换IP地址:电脑IP更改的简便方法

今天我要和大家分享一个电脑IP更改的简便方法——一键切换IP地址。如果您想要更改电脑的IP地址&#xff0c;无需繁琐的设置和复杂的步骤&#xff0c;只需使用以下简单的方法&#xff0c;即可轻松实现IP地址的切换。让我们开始吧&#xff01; 1、使用批处理脚本 批处理脚本是一…

如何在使用JetBrains IDE时文本编辑更高效?这个IdeaVim好用

IdeaVim 插件已经发布一段时间了&#xff0c;它帮助开发者利用 Vim 的强大功能扩展 JetBrains IDE。JetBrains 内部有一个专属团队维护此插件&#xff0c;这为您提供了两项优势&#xff1a;以键盘为中心的编辑器和 IDE 的支持。 获取JetBrains IDE新版下载 Vim为文本中的跳转…

伦敦金的交易时间究竟多长?

接触过伦敦金交易的投资者&#xff0c;应该都知道自己根本不用担心市场上没有交易的机会&#xff0c;因为它全天的交易时间长达20多个小时&#xff0c;也就是在每一个正常的交易日&#xff0c;除去交易平台中途短暂的系统维护时间&#xff0c;投资者几乎全天都可以做盘。 伦敦金…

银河麒麟 ARM 架构 离线安装Docker

1. 下载对应的安装包 进入此地址下载对应的docker 离线安装包 下载地址 将文件上传到服务器 解压此文件 tar zxf docker-18.09.1.tgz将 docker 相关命令拷贝到 /usr/bin&#xff0c;方便直接运行命令 cp docker/* /usr/bin/启动Docker守护程序 dockerd &验证是否安装成…

苹果ipad触控笔哪个好?ipad手写笔推荐

在现在&#xff0c;电容笔已经成为了iPad的一个重要配件&#xff0c;随着其的功能变得更加强大&#xff0c;更多的人开始使用电容笔。因此&#xff0c;如何挑选出一款性价比高、功能优秀的电容笔&#xff0c;是大家最关心的事情。那么&#xff0c;哪一款电容笔更实惠&#xff0…

应对广告虚假流量,app广告变现该如何风控?

移动广告市场中的虚假流量一直是困扰各移动应用厂商的难题&#xff0c;广告作为app商业化变现最为直接快捷的途径&#xff0c;也引申出了流量作弊与反作弊的纷争。 根据《2021中国异常流量报告》&#xff0c;2021年中国品牌广告市场因异常流量造成的损失约为326亿人民币&#…

计算机网络传输层知识总结·

传输层提供的服务 传输层的功能 ●传输层提供进程之间的逻辑通信&#xff0c;即端到端的通信 ●复用和分用 ●差错检测&#xff08;首部和数据部分&#xff09; ●面向连接的TCP和无连接的UDP 端口的作用 ●端口标识的是主机中的进程 ●硬件端口是不同…

早安问候语早安心语,别把人生想太难,人生需要鼓励

1、别把人生想的太难&#xff0c;人生需要几分自我的鼓励&#xff0c;不管在什么时候&#xff0c;要有几分信念和信心&#xff0c;生活少不了哭哭笑笑。青山绿水依然在&#xff0c;来来往往人不同&#xff0c;要学会看得惯&#xff0c;还要学会看得开&#xff0c;你内心的平坦是…

开源酒店预订订房小程序源码系统+多元商户 前端+后端完整搭建教程 可二次开发

大家好啊&#xff0c;罗峰今天来给大家分享一款酒店预订订房小程序源码系统&#xff0c;这款系统进行了全新的升级&#xff0c;从原来的单门店升级成了多门店&#xff0c;可以自由切换账号&#xff0c;统一管理。功能强大。以下是部分代码截图&#xff1a; 酒店预订订房小程序源…

性价比高的学生用台灯?这些Led台灯适合学生用

想要选好护眼台灯首先我们要知道什么是护眼台灯&#xff0c;大的方向来看&#xff0c;护眼台灯就是可以保护视力的台灯&#xff0c;深入些讲就是具备让灯发出接近自然光特性的光线&#xff0c;同时光线不会伤害人眼而出现造成眼部不适甚至是视力降低的照明设备。 从细节上看就…