我对flex布局的理解

未使用flex布局的时候,对元素操作比较麻烦,就拿元素居中来说,需要写一大堆css相当难受,而使用flex几行css属性就能解决,而且对里面元素操作也是相当方便. 主轴相当于坐标系x轴,交叉轴相当于坐标系y

认识flex之前首先得知道它的一些默认行为.

默认子元素排列不换行, 子元素高100%,宽0%跟常规相反, 子元素主轴排列从左往右, 子元素的float属性失效等

创建一个flex布局,首先选取一个容器添加个属性display:flex;
这个容器支持属性:

flex-direction
flex-wrap
justify-content
align-items
align-content

flex-direction(改变主轴的方向)

row(默认) 下图第三个
row-reverse(主轴位于x轴,排列从右往左开始) 下图第四个
column(主轴位于y轴这个方向,从上往下) 下图第二个
column-reverse(从下往上); 下图第一个
在这里插入图片描述

flex-wrap(改变子元素换行)

nowrap(默认)
wrap(换行)
wrap-reverse(换行并且子元素反排列);
在这里插入图片描述

justify-content (改变子元素主轴排列方式)

flex-start(紧靠容器主轴排列 默认)
flex-end(紧靠容器主轴尾部排列)
flex-center(容器主轴居中排列)
Space-between(紧靠容器两端均匀分布)
space-around(均匀分布,不靠近容器两端)
在这里插入图片描述

align-items (改变子元素交叉轴排列方式)

flex-start(紧靠容器交叉轴排列 默认)
flex-end(紧靠容器交叉轴尾部排列)
flex-center(容器主轴居中排列)

align-content

flex-start(紧靠容器主轴排列 默认)
flex-end(紧靠容器主轴尾部排列)
flex-center(容器主轴居中排列)
Space-between(紧靠容器两端均匀分布)
space-around(均匀分布,不靠近容器两端)
后面两个属性必须是wrap生效以后的情况.;

容器支持的属性基本就这些 还有一些组合缩写就不放上去了;
容器有自己的属性,子元素也得有自己属性:

flex-shrink (子元素缩放,前提是空间不足时)

1(默认值) (当设置其他数值时缩放是按照比例缩放
例如: 1 2 3 要缩放6px 1/1+2+3 2/1+2+3 3/1+2+3 去乘6得出的元素缩放);

flex-grow (子元素扩大,前提是空间足够时)

0(默认值) (当设置其他数值时缩放是按照比例扩大
例如: 1 0 3 要多出4px 1/1+0+3 0/1+0+3 3/1+0+3 去乘6得出的元素扩大值);

order (子元素排放位置)

0(默认) (数字几就是排列元素位置第几个);

align-self (子元素)

flex-start(紧靠交叉轴起始位置)
flex-center(中间位置)
flex-end(紧靠交叉轴结束位置)

flex(flex-grow,flex-shrink,flex-basis缩写)

0 1 auto(默认) 后面两个值可填可不填;

熟悉这些flex属性以后,试试水平垂直居中;
.main{ //容器
display:flex;
//然后交叉轴方向居中子元素
align-items:center;
//主轴方向居中子元素
justify-content:center;
//这样子就实现一个水平垂直居中了,高随意定
}
还可以去玩一下其他花样布局

  • 5
    点赞
  • 11
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值