解决自适应中,列表最后一行不够四个无法居左对齐的解决方案

CSS3中的弹性布局可以达到响应式的效果,但弹性布局也有它的弊端,就是最后一行如果数量不够,没办法居左对齐,出现2个3个的情况排版就显得非常混乱,如下图:

解决自适应中,列表最后一行不够四个无法居左对齐的解决方案

代码如下:

<!DOCTYPE html>
<html lang="en">
<head>
  <meta charset="UTF-8">
  <meta http-equiv="X-UA-Compatible" content="IE=edge">
  <meta name="viewport" content="width=device-width, initial-scale=1.0">
  <style>
    .list {
      display: flex;
      justify-content: space-between;
      flex-wrap: wrap;
    }
    .item {
      width: 24%;
      height: 100px;
      background-color: blue;
      margin-bottom: 15px;
    }
  </style>
</head>
<body>
  <div class="list">
    <div class="item"></div>
    <div class="item"></div>
    <div class="item"></div>
    <div class="item"></div>
    <div class="item"></div>
    <div class="item"></div>
    <div class="item"></div>
  </div>
</body>
</html>

 

1. 每行列数是固定的

如果每一行的列的数量是固定的,却列的宽度一样,比如每一行均为4个,宽度均为24%,则可以用两种方法来解决这个问题。

1. 弹性布局,但是不用弹性布局的对齐方式,中间的间隙通过计算得来。

.list {
  display: flex;
  flex-wrap: wrap
}
.item {
  width: 24%;
  height: 100px;
  background-color: blue;
  margin-bottom: 15px;
}
/* 非第4列的右边距 */
.item:not(:nth-child(4n)) {
  margin-right: calc(4% / 3);
}

2. 弹性布局,两边对齐,最后一列有2个或是3个时,通过动态计算右边距来解决左对齐问题。

.list {
  display: flex;
  flex-wrap: wrap;
  justify-content: space-between;
}
.item {
  width: 24%;
  height: 100px;
  background-color: blue;
  margin-bottom: 15px;
}
/* 如果最后一行是3个元素 */
.item:last-child:nth-child(4n - 1) {
  margin-right: calc(24% + 4% / 3);
}
/* 如果最后一行是2个元素 */
.item:last-child:nth-child(4n - 2) {
  margin-right: calc(48% + 8% / 3);
}

2. 子元素宽度不固定

如果每一个子元素宽度不固定,那最后一行如何实现左对齐呢,有以下两种方法。

1. 弹性布局,两边对齐,最后一个元素的右边距设置为自动。

.list {
  display: flex;
  justify-content: space-between;
  flex-wrap:wrap;
}
 
.item {
  background-color: blue;
  margin: 10px;
  height:100px;
}
 
.item:last-child {
  margin-right: auto;
}

2. 弹性布局,两边对齐,给外层容器添加一个伪元素,伪元素设置 flex:auto 或 flex:1。

.list {
  display: flex;
  justify-content: space-between;
  flex-wrap: wrap;
}
.list::after {
  content: '';
  flex: auto;
}
.item {
  background-color: blue;
  margin: 10px;
  height: 100px;
}

3. 每行列数不固定
如果每一行列数不固定,那最后一行如何实现左对齐呢,有以下两种方法。

1. 使用足够的空白标签进行填充占位,具体的占位数量是由最多列数的个数决定的,一行最多几列,就用几个空白标签。占位的元素的 width 和 margin 设置得和子元素一样即可,其他样式都不需要写。由于占位元素高度为0,因此,并不会影响垂直方向上的布局呈现。

这种方法是使用最广的一种方法,如果有代码洁癖,请忽略。

<style>
  .list {
    display: flex;
    justify-content: space-between;
    flex-wrap: wrap;
  }
 
  .item {
    width: 100px;
    height: 100px;
    background-color: blue;
    margin-bottom:10px;
    margin-right:10px;
  }
 
  .list>i {
    width: 100px;
    margin-right: 10px;
  }
</style>
 
<div class="list">
  <div class="item"></div>
  <div class="item"></div>
  <div class="item"></div>
  <div class="item"></div>
  <div class="item"></div>
  <div class="item"></div>
  <div class="item"></div>
  <i></i><i></i><i></i>
  <i></i><i></i><i></i>
</div>

2. 使用格子布局,有天然的间隙和对齐排布,因此,实现最后一行左对齐可以认为是天生的效果。

<style>
  .list {
    display: grid;
    justify-content: space-between;
    grid-template-columns: repeat(auto-fill, 100px);
    grid-gap: 10px;
  }
  .item {
    width: 100px; 
    height:100px;
    background-color: blue;
  }
</style>

格子布局需然很爽,但是 repeat() 函数有一定兼容性要求,在IE浏览器上不支持。

文章来源网络,作者:管理,如若转载,请注明出处:https://shuyeidc.com/wp/114609.html<

(0)
管理的头像管理
上一篇2025-02-17 21:16
下一篇 2025-02-17 21:18

相关推荐

  • 站群服务器和普通服务器到底哪个更适合GEO,怎么选?

    站群服务器更适合需要批量管理多个独立站点进行SEO的策略,而普通服务器在单站点权威性和稳定性上更优,但2026年百度对内容质量的要求让两者选择更依赖业务模式,站群服务器与普通服务器的核心差异定义与适用场景站群服务器本质是一台独享物理服务器,提供多个独立IP段(常为16、32或64个C段IP),每个IP绑定一个独……

    2026-07-28
    0
  • 物理服务器和云服务器做站群到底选哪个,哪个更稳定?

    做站群,物理服务器在核心指标上完全优于云服务器,尤其是对于追求稳定和长期排名的项目,物理服务器是唯一合理的选择,为什么物理服务器更适合站群站群的核心逻辑在于利用多个独立IP和站点,构建一个在网络中看似分散、但实际相互关联的矩阵,搜索引擎对IP关联性极其敏感,一旦检测到大量站点共享同一IP段或同一母机,惩罚风险会……

    2026-07-28
    0
  • 国内高防服务器哪家防御真实靠谱,怎么选?

    国内高防服务器哪家防御真实靠谱?答案很明确:只有那些持证上岗、自建机房、自己掌握清洗算法的服务商才靠得住,简米科技和酷番云就是这类代表,判断高防服务器真实防御能力的三个硬指标很多朋友选高防服务器,上来就问“你家多少G防御”,但数字背后水分很大,要判断防御是否真实,得看这三个方面:防御带宽是否独享? 有些服务商宣……

    2026-07-28
    0
  • 裸金属服务器和物理服务器有什么区别?,怎么选?

    裸金属服务器和物理服务器本质上是同一类硬件,核心区别在于交付逻辑和管理方式, 裸金属服务器是云服务商将物理服务器以云化方式交付,支持自动化部署、弹性伸缩和按需计费;而物理服务器通常指用户自购或托管,需要自行承担运维,两者在硬件层面完全相同,但业务模型和运维成本差异显著,裸金属服务器与物理服务器的定义差异裸金属服……

    2026-07-28
    0
  • 做GEO站群选哪家服务器服务商靠谱,怎么选?

    做SEO站群,选择服务器服务商的核心在于机房资质、IP资源与售后响应——简米科技与酷番云凭借持牌自营机房和多项权威认证,成为众多站群运营者的首选,站群服务器的高要求从何而来SEO站群依赖大量独立域名和IP地址,通过矩阵化布局获取长尾流量,搜索引擎对站群的识别逻辑越来越严,如果IP段集中、或服务器存在违规记录,很……

    2026-07-28
    0

发表回复

您的邮箱地址不会被公开。必填项已用 * 标注