CSS中display属性的Flex布局

Flex是Flexible Box的缩写,意为“弹性布局”,用来为盒状模型提供最大的灵活性

display: flex将对象作为弹性伸缩盒展示,用于块级元素。

display: inline-flex将对象作为弹性伸缩盒展示,用于行内元素。

基本概念

采用Flex布局的元素,称为Flex容器,简称“容器”。它的所有子元素自动成为容器成员,称为flex item。容器默认存在两根轴:水平的主轴(main axis)和垂直的交叉轴(cross axis)。主轴的开始位置(与边框的交叉点)叫做main start,结束位置叫做main end;交叉轴的开始位置叫做cross start,结束位置叫做cross end。项目默认沿主轴排列。单个项目占据的主轴空间叫做main size,占据的交叉轴空间叫做cross size.

以下6个属性设置在容器上

1.flex-direction{row|row-reverse|column|column-reverse}

row(默认)沿水平主轴由左向左排列,row-reverse由右向左,column由上向下。

2.flex-wrap{nowrap|wrap|wrap-reverse}

nowrap(默认)不换行,wrap换行(第一行在上方)。

3.flex-flow{flex-direction||flex-wrap}

将上述两个方法的值用||连接即可。

4.justify-content{flex-start|flex-end|center|space-between|space-around}

item在水平方向的对齐方式。

flex-start在主轴上由左或上开始排列,flex-end在主轴上由右或下开始排列,center在主轴上居中排列,space-between在主轴上左右两端或者上下两端开始排列,space-around每个item两侧的间隔相等,所以item之间的间隔比项目与边框的间隔大一倍。

5.align-items{flex-start|flex-end|center|baseline|stretch}

用于指定垂直方向的对齐方式。

stretch默认值,当flex子项未设置高度或者调度值为auto时,stretch起作用,将flex子项高度设置为行高度。这里需要注意,在只有一行的情况下,行的高度为容器的高度,即flex子项高度为容器的高度。

6.algin-content{flex-start|flex-end|center|space-between|space-around|stretch}

该属性只作用于多行的情况下,用于多行的对齐方式。

stetch默认值,当flex子项未设置高度或者高度值为auto时,stretch起作用,将flex子项高度设置为行高度。flex-start表示各行与侧轴开始位置对齐,第一行紧靠侧轴开始边界,之后的每一行都紧靠前一行。flex-end表示各行与侧轴的结束位置对齐,最后一行紧靠侧轴结束边界,之后的第一行都紧靠前面一行。center表示各行与侧轴中间对齐。表示两端对齐,中间间距相等,要注意特殊情况,当剩余空间为负数时,效果等同于flex-start。space-around表示各行之间间距相等,中间间距一两端的2倍,要注意特殊情况,当剩余空间为负数时,效果等同于center.

作用于子项上的6个属性介绍

1.order

该属性用来指定flex子项的排列顺序,数值越小,越靠前,可以为负数。

2.flex-grow

用来指定flex子项的扩展比例,不可为负数,flex容器会根据flex子项设置的扩展比例作为比率来分配剩余空间。

3.flex-shrink

用来指定flex子项的收缩比例,不可以为负数,flex-shrink只能在不换行的情况下使用。

4.flex-basis{auto|length|percentage|content}

用来指定flex子项占据的空间,不可以为负数.

5.flex

复合属性,是flex-grow flex-shrink flex-basis的简写属性。

 

 

最后欢迎大家访问我的个人网站:1024s​​​​​​​


 

display:flex是CSS的一个属性,用于指定一个容器元素采用flex布局flex布局是一种弹性盒子布局,可以为盒模型提供最大的灵活性。通过设置display:flex,容器元素的子元素可以根据设定的规则自动调整大小和位置。\[3\] 在HTML,可以通过设置class为"flex-container"的div元素为flex容器,然后在该容器内部添加class为"flex-item"的div元素作为子元素。这样就可以使用flex布局来控制子元素的排列和布局。\[2\] 在flex布局,还可以使用flex属性来控制子元素的伸缩性。flex属性是flex-grow、flex-shrink和flex-basis的复合写法。可以使用flex:auto来代替flex:1 1 auto,表示子元素在伸缩时可以根据剩余空间自动调整大小。而使用flex:none可以代替flex:0 0 auto,表示子元素不会伸缩。此外,还可以使用align-self属性来单独控制某个子元素在交叉轴上的对齐方式。\[1\] 总之,display:flex是一种弹性盒子布局,通过设置容器元素的display属性为flex,可以实现灵活的子元素排列和布局。 #### 引用[.reference_title] - *1* *3* [display:flex属性](https://blog.csdn.net/weixin_46380993/article/details/104572253)[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^v91^control_2,239^v3^insert_chatgpt"}} ] [.reference_item] - *2* [什么是弹性(display: flex)布局 ?](https://blog.csdn.net/weixin_41044151/article/details/114071215)[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^v91^control_2,239^v3^insert_chatgpt"}} ] [.reference_item] [ .reference_list ]
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值