Flex布局(弹性布局)-图文介绍

目标: 能够使用Flex布局模型灵活、快速的开发网页

Flex布局/弹性布局特点:

  1.  是一种浏览器提倡的布局模型。
  2. 布局网页更简单、灵活。
  3. 避免浮动脱标的问题

作用:

  1.  基于 Flex 精确灵活控制块级盒子的布局方式,避免浮动布局中脱离文档流现象发生。
  2. Flex布局非常适合结构化布局

设置方式 :

  1.   父元素添加 display: flex,子元素可以自动的挤压或拉伸。

组成部分 :

  1.  弹性容器
  2. 弹性盒子
  3. 主轴
  4. 侧轴/交叉轴

!注意这里的主轴和侧轴, 在Flex布局模型中,调节主轴或侧轴的对齐方式来设置盒子之间的间距。

1主轴对齐方式:

        修改主轴对齐方式属性: justify-content

         主轴对齐方式,主轴如上图所示,使用justify-content时,子集的弹性盒子沿主轴排列,根据修改属性值获得自己想要的样式。

 效果演示:

   space-between,沿着主轴排列,空白间距均分在相邻盒子之间

space-enenly,沿着主轴排列,弹性盒子与容器之间的间距相等

space-around,沿着主轴排列,around有四周周围的意思,这个就是空白间距分在盒子的两侧,与enenly比起来,盒子1,2的空白间距大一些,之间的间距是1,2均分的,相当于盒子1左右都有间距,和2合并了,就显示大。

 

2侧轴对齐方式:

        使用align-items调节元素在侧轴的对齐方式

修改侧轴对齐方式属性: 

  1.   align-items(添加到弹性容器)
  2. align-self: 控制某个弹性盒子在侧轴的对齐方式(添加到弹性盒子)

 

        侧轴和主轴类似,主轴默认在水平方向,侧轴在竖直方向。在侧轴属性值中,center和stretch使用比较多。

演示:

center侧轴对齐方式

stretch ,这个是默认值,在子集盒子1,2,3没有高度时候使用,默认沿着主轴线被拉伸至铺满容器。

align-self,单独设置盒子2的对齐样式,这里是在自己的css样式中加了center对齐。

 

3伸缩比:使用flex属性修改弹性盒子伸缩比

        使用方式:flex : 值; 

                        在子集盒子中使用,值取值是整数值,意思就是把父级盒子剩下的分成几份分给自己,假如子集盒子1和2(没有3)值都是1,就是(1+1)/2,每个盒子占比50%,以此类推。

这里盒子1,3值的为flex:1;而盒子2的值为:flex:3;

4修改主轴方向 :

 1:思考:Flex布局模型中,弹性盒子默认沿着哪个方向排列?

1:答:水平方向。

2:问:那如何实现内容垂直排列呢?

如图 :

目标:使用flex-direction改变元素排列方向

  1.  主轴默认是水平方向, 侧轴默认是垂直方向
  2. 修改主轴方向属性: flex-direction

修改主轴方向后,默认水平值被修改,此时就要注意主轴方向和排列方式,也要思考对应的原侧轴排列方式。

5弹性盒子换行:

        思考:默认情况下,多个弹性盒子如何显示?

        答:若子集的盒子过多,其设置的宽度加起来大于父级盒子的,此时盒子不会自己换行排列,而是全部挤在一起,压缩了自己本身的宽度

如何解决?

弹性盒子换行显示 : flex-wrap: wrap;

        调整行对齐方式 :align-content

        取值与justify-content基本相同

效果类似下图:

 

 

 

 

       

 

 

 

 

 

 

 

 

        

 

 

 

 

  • 2
    点赞
  • 7
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 1
    评论
Flex布局(也称为弹性布局)是种主流的CSS布局方式,它可以方便地实现页面元素的自适应和排列。Flex布局通过定义容器和子元素的属性来实现灵活的布局效果。 在Flex布局中,有两个重要的概念:容器和子元素。容器是指应用Flex布局的父元素,而子元素则是容器内部的直接子元素。 以下是Flex布局的一些主要特点和属性: 1. 容器属性: - display: flex;:将容器设置为Flex布局。 - flex-direction:指定主轴的方向,可以是row(水平方向)、column(垂直方向)、row-reverse(水平反向)或column-reverse(垂直反向)。 - justify-content:定义了子元素在主轴上的对齐方式,可以是flex-start(起始对齐)、flex-end(末尾对齐)、center(居中对齐)、space-between(两端对齐,项目之间间隔相等)或space-around(每个项目两侧的间隔相等)。 - align-items:定义了子元素在交叉轴上的对齐方式,可以是flex-start(起始对齐)、flex-end(末尾对齐)、center(居中对齐)、baseline(基线对齐)或stretch(拉伸对齐)。 - flex-wrap:定义了子元素是否换行,可以是nowrap(不换行)、wrap(换行)或wrap-reverse(反向换行)。 2. 子元素属性: - flex:指定子元素的伸缩比例,用于控制子元素在容器中的占比。 - align-self:定义了单个子元素在交叉轴上的对齐方式,可以覆盖容器的align-items属性。 以上是Flex布局的一些基本概念和属性,通过灵活地使用这些属性,可以实现各种不同的布局效果。

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

江淮-Z

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值