html中弹性布局,css弹性布局

本文详细介绍了Flexbox布局模型,包括在父容器上设置的属性如`display:flex`、`flex-direction`、`justify-content`等,以及在子容器上设置的属性如`order`、`flex-grow`等。讲解了这些属性如何控制元素的排列、对齐和扩展收缩,帮助读者理解和应用Flexbox布局。
摘要由CSDN通过智能技术生成

根据语法添加的位置不同分为两部分:一为语法在父容器上的,二为语法在子容器上的。

以下是我在逆战班学习之后自己的理解

1. 语法是添加到父容器上的?

1).display : flex;     设置盒子

2).flex-direction:    布局的排列方向 (主轴排列方向)

row; 默认值,显示为行。方向为当前文档水平流方向,默认情况下是从左往右。

f27e04c454837533c85b252f2ce4655d.png

row-reverse; 显示为行。但方向和row属性值是反的

6784573a1ec31bf09745625cf5fde5f4.png

column; 显示为列

1c17cf4ffbb95aeb67b44cf4eaf44633.png

column-reverse; 显示为列。但方向和column属性值是反的

f3eb4d4f0b87d0d61d9ab8e04089de2e.png

3).flex-wrap:是否进行换行处理。

nowrap; 默认值,不换行处理

8104a9cba26fb3620725fa5914b010a7.png

wrap; 换行处理

d03fb951f2a15512d16158254ed1ba89.png

wrap-reverse; 反向换行

132223a163caf34d18e2be8632ecab44.png

4).flex-flow :复合写法 (是有顺序的,先写显示的方向,再写是否换行,中间空格隔开)。

例:flex-flow : row nowrap;

5).justify-content : 属性决定了主轴方向上子项的对齐和分布方式。

flex-start : 子项都去起始位置对齐。

93d6e3ac2e2f02bf25b260d521020563.png

flex-end : 子项都去结束位置对齐。

29316352fe31db5a5d17b55502fd5c34.png

center : 子项都去中心位置对齐。

e2254a48841a41aeafae190b7a41a683.png

space-between : 表现为两端对齐。between是中间的意思,意思是多余的空白间距只在元素中间区域分配。

efd207a67fb0f749801937a31b55e360.png

space-around : around是环绕的意思,意思是每个flex子项两侧都环绕互不干扰的等宽的空白间距,最终视觉上边缘两侧的空白只有中间空白宽度一半。

0388c0083f40f3c2fd45047c46fc7c67.png

space-evenly : evenly是匀称、平等的意思。也就是视觉上,每个flex子项两侧空白间距完全相等。

003079f65b0accf28113055ef1b2ced4.png

6).align-items : 每一行中的子元素上下对齐方式。

flex-start; 每行的顶端对齐

b192312e2acb97d367bf29bd4d8beaf9.png

center;居中

025ac67cce100282d31367f50605ec4d.png

flex-end;每行的底端对齐

54dbe844b611919c574605bbb10c94b7.png

7).align-content : 跟justify-content相反的操作。侧轴的对齐方式。(最少需要两行才能看出效果,因为他是多行的一个上下对齐方式)

默认:多行下,有几行就会把容器划分为几部分,默认就是stretch拉伸的。

注:值跟justify-content取值是相同的。

2. 语法是添加到子容器上的?

1).order : 排序

417cf763c98d2cc6c4b9a0c2f40cd013.png

9881e5c021c5b29c9836d89fee10751f.png

2).flex-grow : 扩展 ( 想看到扩展的效果,必须有空隙 )

0 : 默认值 , 不去扩展

1 : 去扩展 , 会把空白区域全部沾满

注:子元素会按照设置的比例值来分配空隙,如果比例值总和小于1,那么会有空隙,如果比例值总和大于等于1,那么就没有空隙。

604289ed8c047a9a6f9b396b5a9fe5e4.png

781631e236f25c51cecf55c1e36e2d0c.png

3).flex-shrink : 收缩

正常默认值是1

0表示不收缩,.5收缩小一些,2收缩大一些。(大小是跟正常缩放1进行比较的)

bce0accf64216a746a8fe7f8ec1537cb.png

305e559185dea10b4972725efeb1c515.png

4).flex-basis : 跟flex-shrink/flex-grow很像。

flex-shrink/flex-grow是设置一个比例值,flex-basis是设置一个具体值。

fb5f6a36ea7195aeb72c9a26832314d7.png

4e86fbbd0a2ab058e5c1c03e0cc4e863.png

5).algin-self: 跟align-items操作很像,区别就是只是针对某一个子项。

注:默认情况下,在弹性盒子中的子元素的左右排列的。

3180b00b020c9df7d484650aa476d3d6.png

70b57f263c8608224bda9b752731a870.png

3.注:

水平是主轴的时候:默认情况下,当宽高不写的时候,宽度由内容决定,高度由父容器决定。

垂直是主轴的时候:默认情况下,当宽高不写的时候,宽度由父容器决定,高度由内容决定。

4.注:当子项的总宽度大于父容器的时候,会自动收缩的(弹性的优先级是大于自身固定大小的)

5.注:当子项的内容已经达到了父容器最小宽高的时候,就会出现溢出的现象。

6.注:弹性布局中用的频率比较多的语法:

display : flex;

flex-direction;

justify-content;

align-items;

flex;

  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值