详细讲解flex布局

一、flex布局基本概念

在没有使用flex布局之前,常用布局有:流式布局,浮动布局,定位布局等等。这些布局的缺陷子元素需要自己控制自己在父元素中的位置,还要注意父元素高度坍塌

flex布局是一种布局模型,经常被称之为flexbox。使用flex布局之后,它会给子元素提供强大空间分配和对齐能力。

优点:避免不灵活的布局形式,创建更多种布局模式供你选择,解决了子元素的对齐和分布与响应式等问题。

缺点:只能依靠自身的布局模式,稍有变化则无法改变。

注意事项:

1、flex布局改变的不是自身,而是自己内部的子元素。即,定义时要将flex定义在父元素,把父元素当做‘容器’,然后改变内部子元素的排列方式。

2、设置为flex布局以后,子元素的float、clear都失效了。即,子元素不用浮动了,父元素也不用清除浮动了。

3、设置了flex的元素,子元素会“块状化”。即,父元素使用了 display:flex 其子元素都会变成块级元素。

二、flex布局的使用

1、基本语法

父元素设置display:flex。

2、主轴和交叉轴

语法flex-direction

主轴和交叉轴是垂直的,两个轴的由来取决于子元素的排列方式,如图。

 默认情况下(不写flex-direction)采取行模式,即主轴是水平方向。

3、主轴排序

/* 默认行模式:左  */
flex-direction : row ;

/* 行模式:右  */
flex-direction : row-reverse ;

列模式与行模式相同,不再展示。
/* 列模式:上 */
flex-direction : column ;
/* 列模式:下— */
flex-direction : column-reverse ;

4、换行模式

语法:flex-wrap
flex - wrap 属性控制 子项是单行还是换行 默认情况不换行 。即使容器宽度(行模式)或者高度(列模式)无法承载所有项目,他们会按照等比例压缩,强制在主轴方向显示。

 如上图,父元素宽度已经不能承载所有子元素放到一行,但是由于没有设置换行,所以会压缩子元素,强制排到一行。

开启换行:flex-wrap: wrap;即可实现。

5、主轴的对齐方式

justify - content 定义了项目在 主轴 方向上的对齐方式,需要注意的是,要区别行模式和列模式,主要以行模式为例。
/* 默认起点对齐 */
justify-content: flex-start;
/* 终点对齐 */
justify-content: flex-end;
/* 居中对齐 */
justify-content: center;
/* 两端对齐 */
justify-content: space-between;
/* 周围分布相同空间 */
justify-content: space-around;
/* 均匀空间 */
justify-content: space-evenly;

下面采取图示方式来展示这六种不同的分布方式,方便大家理解。

 

   

  

如果是列模式的话,也是相同的使用方法。

6、交叉轴对齐方式

/* 交叉轴起点*/
align-items: flex-start;
/* 交叉轴终点 */
align-items: flex-end;
/* 交叉轴居中 */
align-items: center;

 其实就是平时咱们说的垂直方向上居中。

 

 

关于flex布局基础知识差不多介绍完了,这个布局是我平时使用很多的一个布局,可以解决很多手动排版以及图片与文字对齐等等的问题,希望大家可以掌握好这个布局,会十分得心应手!

 

  • 10
    点赞
  • 52
    收藏
    觉得还不错? 一键收藏
  • 1
    评论
Pink老师讲解flex布局是一种用于为盒状模型提供最大灵活性的布局方式,也被称为"伸缩布局"、"弹性布局"、"伸缩盒布局"、"弹性盒布局"。它在移动端和PC端都得到了广泛应用。 使用flex布局可以使页面的布局更加高效和灵活。通过设置flex容器和其内部元素的属性,可以实现自适应布局、弹性伸缩、对齐方式的控制等。flex布局的核心概念包括flex容器和flex项目,其中flex容器用来包裹多个flex项目,而flex项目则是容器内的子元素。 在flex布局中,可以通过设置flex属性来定义项目的伸缩比例、基准大小和顺序等属性。通过设置flex-direction属性可以控制项目的排列方向,而flex-wrap属性用于控制项目的换行行为。而flex-flow属性则是flex-direction属性和flex-wrap属性的简写形式,默认值为row nowrap。 总的来说,学习Pink老师讲的flex布局能够让我们更好地理解和应用这一灵活的布局方式,以提升页面的效果和用户体验。同时,还可以进一步学习其他的CSS知识和各种UI框架的使用,以丰富自己的前端技能。<span class="em">1</span><span class="em">2</span><span class="em">3</span> #### 引用[.reference_title] - *1* [Flex布局——pink老师版](https://blog.csdn.net/Tommy__li/article/details/128283549)[target="_blank" data-report-click={"spm":"1018.2226.3001.9630","extra":{"utm_source":"vip_chatgpt_common_search_pc_result","utm_medium":"distribute.pc_search_result.none-task-cask-2~all~insert_cask~default-1-null.142^v93^chatsearchT3_2"}}] [.reference_item style="max-width: 50%"] - *2* *3* [Flex布局](https://blog.csdn.net/chilanzi/article/details/122943373)[target="_blank" data-report-click={"spm":"1018.2226.3001.9630","extra":{"utm_source":"vip_chatgpt_common_search_pc_result","utm_medium":"distribute.pc_search_result.none-task-cask-2~all~insert_cask~default-1-null.142^v93^chatsearchT3_2"}}] [.reference_item style="max-width: 50%"] [ .reference_list ]

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值