首页 前端知识 关于 flex 弹性盒子布局中多行的最后一行左对齐操作

关于 flex 弹性盒子布局中多行的最后一行左对齐操作

2024-05-03 18:05:49 前端知识 前端哥 278 644 我要收藏

首先先看下图

当我们想要达到这种上部均分和最终序列依次从左到右排列的效果

首先第一种方式 :

  • 以外层的容器给弹性盒子布局 + 给外层盒子添加after 伪类 元素

.wrap{
   width: 200px;
   height: 200px;
   display: flex;
   // 使其换行展示
   flex-wrap: wrap;
   // 且首个元素放置于起点 末尾元素放置于终点
   justify-content: space-between;
}
 
//  此处可以理解为使用伪元素进行占位
.wrap::after{
  content: "";
  width: 60px;
} 

!注意

当每行出现多于三个元素时 就会出现如下图情况

这个时候我们就要用第二种方式来组织整体结构

  • 使用 Grid布局 (也是号称是最强大的CSS布局方案)

.wrap{
   margin: 50px auto;
   width: 200px;
   height: 200px;
   display: grid;
   justify-content: space-between;
   // 划分列 功能函数关键字 repeat (auto-fill,45px)
   // 根据子元素的盒子的份额自动计算可以平铺几次
   grid-template-columns: repeat(auto-fill,45px);
   // grid-gap 是 row-gap 和 column-gap 的简写形式。
   grid-gap: 0 1px;
}

!!!!最终让我们看看 flex布局和Grid布局有哪些区别!!!!

  1. flex布局是一维布局 Grid布局是二维布局

  1. flex布局是轴线布局 只能指定"项目"针对轴线的位置

  1. Grid 布局则是将容器划分成“行"和“列”,产生单元格,然后指定"项目所在”的单元格

注意事项:Grid布局常常存在兼容性问题 具体使用还是要根据具体需求具体分析

flex布局中flex:1和flex:auto的区别

首先flex 是复合属性 是添加给子元素的

那咱们先来看flex 中的各个参数

● flex-grow 属性定义项目的放大比例 默认为0 即如果存在剩余空间 也不放大

● flex-shrink 属性定义了项目的缩小比例 默认为1 即如果空间不足 该项目将缩小

● flex-basis 属性定义了在分配多余空间之前 项目占据的主轴空间(相当于我们设置的width)

注意:默认值为: flex:0 1 auto;(默认不放大 放不下了缩小 优先采用自己本身宽度

flex:1

注意: flex:1 1 0%; 有剩余空间就放大,空间不够就缩小,项目长度为0

<div class="wrap">
    <div class="box">喜羊羊</div>
    <div class="box">不,是灰太狼</div>
    <div class="box">灰太狼抓喜羊羊</div>
 </div>
 
.wrap{
    height: 100px;
    display: flex;
}
.box{
    border: 2px solid yellowgreen;
    flex: 1;
}

flex:auto

注意:flex:1 1 auto;有剩余空间就放大,空间不够就缩小,项目长度为原本的长度

 <div class="wrap">
    <div class="box">喜羊羊</div>
    <div class="box">不,是灰太狼</div>
    <div class="box">灰太狼抓喜羊羊</div>
 </div>
 
.wrap{
    height: 100px;
    display: flex;
}
.box{
    border: 2px solid yellowgreen;
    flex: auto;
}

所以!!!

  • flex:1flex:auto 的区别主要是在于 flex-basis

  • flex:1 不管内容多少,一般都是平分空间,空间大小都一致

  • flex:auto 是根据内容的大小来分,不是平的(除非内容都是一样,才平分)

转载请注明出处或者链接地址:https://www.qianduange.cn//article/6809.html
标签
评论
发布的文章

JQuery中的load()、$

2024-05-10 08:05:15

大家推荐的文章
会员中心 联系我 留言建议 回顶部
复制成功!