快速了解fiex布局

如何让元素使用flex布局

给元素添加 flex 或 inline-flex 样式

  • flex 在宽度不够使,直接换行显示
  • inline-flex 在宽度不够时,显示一半,剩下的下一行接着显示。
div {
    display: flex; /* inline-flex */
}

当元素添加 flex 后,添加 flex 的元素称为 容器,我们可以通过添加属性控制其内部子元素的排列方式。

改变元素流动方向

给 flex 容器,添加 flex-direction 样式

  • row 从左往右排列
  • row-reverse 从右往左排列
  • colum 从上往下排列
  • colum-reverse 从下往上排
div {
    display: flex; 
    flex-direction: row; /* row-reverse colum colum-reverse */
}

元素是否换行

flex 的子元素是默认不会换行,当一行的子元素过多时,他们会自适应的相互挤压。
给 flex 容器,添加 flex-wrap 样式,即可控制是否换行

  • no-wrap 不换行(默认)
  • wrap 换行
  • wrap-reverse 倒叙换行(简单来说就是与wrap的顺序反了过来)
div {
    display: flex; 
    flex-wrap: wrap; /* no-wrap wrap-reverse */
}

元素水平对齐元素

给 flex 容器添加 justify-content 样式

  • flex-start 元素和容器的左端对齐
  • flex-end 元素和容器的右端对齐
  • center 元素在容器里居中
  • space-between 元素之间保持相等的距离
  • space-around 元素周围保持相等的距离
  • space-evenly 在 around 基础上,全部空隙自适应
div {
    display: flex; 
    justify-content: space-between; /* flex-start flex-end center space-around space-evenly */
}

元素纵轴的分布方式

给 flex 容器添加 align-items 样式

  • flex-start 顶端对齐
  • flex-end 底端对齐
  • center 居中对齐
  • stretch 铺满
  • baseline 基线对齐(用不到,可以不用管)
div {
    display: flex; 
    align-items: flex-start; /* flex-end center stretch baseline */
}

多行布局

上面都是默认当行的情况下,现在是多行布局
给 flex 容器添加 align-content 样式

  • flex-start 全部挤在顶端
  • flex-end 全部挤在底端
  • center 全部挤在中间
  • stretch 全部平均的铺满
  • space-between 分别上中下对齐
  • space-around 在上中下对齐的基础上,全部间隙相同
div {
    display: flex; 
    align-content: stretch; /* flex-start flex-end center stretch space-between space-around */
}

改变子元素排列的顺序

给 flex 容器内的,子元素盒子添加 order 样式
数字越小越靠前,越大越靠后

div {
    display: flex; 
    order: -11; /* 负数 0 正数 */
}

控制子元素所占比

给 flex 容器内的,子元素添加 flex-grow 样式
用数字表示每个子元素所在大小
例如:两边盒子各占4分之1,中间盒子占4分之2

child1 {
    flex-frow: 1;
}
child2 {
    flex-frow: 2;
}
child3 {
    flex-frow: 1;
}

固定子元素所占比

给 flex 容器内的,子元素添加 flex-shrink 样式

div {
    flex-shrink: 0;
}
  • 1
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值