css(2)flex弹性布局总结


前言

布局这块,一直有点不是很熟,还是得做一个详细的总结
参考文档MDN:https://developer.mozilla.org/en-US/docs/Web/CSS/CSS_Flexible_Box_Layout


一、display:flex

在flex布局下,元素活动类似于块元素,其布局参考弹性盒子模型

<!DOCTYPE html>
<html lang="en">
<head>
    <meta charset="UTF-8">
    <meta name="viewport" content="width=device-width, initial-scale=1.0">
    <title>Document</title>

    <style>
        .flex{
            padding: 25px 25px;
            width: 500px;
            height: 250px;
            background-color: black;
            display: flex;
        }

        .red{
            height: 50%;
            width: 50%;
            background-color: red;
        }

        .blue{
            height: 50%;
            width: 50%;
            background-color: blue;
        }

        .yellow{
            height: 50%;
            width: 50%;
            background-color: yellow;
        }

    </style>
</head>


<body>
    <div class="flex">
        <div class="red"></div>
        <div class="blue"></div>
        <div class="yellow"></div>
    </div>
</body>
</html>

这里贴一段html可以参考,我们的都是在父元素(也就是flex),添加css属性

二、弹性盒子模型

在弹性盒子模型的布局中,我们通常运用弹性属性合理规定子元素的形状,并且能有效避免子元素溢出。除此之外我们还运用对齐属性影响布局。

一、css弹性属性

1.flex-flow(在父元素设置)

flex-flow: <'flex-direction'> || <'flex-wrap'>

由flex-direction和flex-wrap组合成的参数,以下分别介绍

1.flex-direction
flex-direction: row | row-reverse | column | column-reverse

修改flex的布局方向,默认为row

row:从左往右按照子元素横排列
row-reverse:从右往左按照子元素横排列
column:从上到下按子元素排列
column-reverse:从下到上按子元素排列

2.flex-wrap
flex-wrap: nowrap | wrap | wrap-reverse

修改flex的排列,默认为nowrap

nowrap:一列排列
wrap:如果一列超过所有子元素宽度/高度和,则转到下一列
wrap-reverse:从下到上/从右到左排列

2.flex(在子元素设置)

flex: none | [ <'flex-grow'> <'flex-shrink'>? || <'flex-basis'> ]

由flex-grow和flex-shrink和flex-basis组合成的参数,以下分别介绍

1.flex-grow
flex-grow: <number>

仅在各子元素宽度/高度之和小于盒子生效,根据各自的flex-grow值百分比占比伸展满盒子布局,默认0

2.flex-shrink
flex-shrink: <number>

仅在各子元素宽度/高度之和大于盒子生效,根据各自的flex-shrink值百分比占比收缩进盒子布局,默认1

3.flex-basis
flex-basis: content | <'width'>

指定了 flex 元素在主轴方向上的初始大小

会根据flex-direction,如果与width和height同时存在会进行覆盖

二、alignment对齐属性(在父元素设置)

1.justify-content

justify-content: center|start|end|baseline|space-evenly|space-between

属性定义了浏览器之间,如何分配顺着弹性容器主轴的元素之间及其周围的空间

center:居中排列
start:从起始位置开始排列
end:从末尾位置开始排列
baseline:沿着主轴排列
space-evenly:均匀排列每个元素,每个元素之间的间隔相等
space-between: 均匀分布项目第一项与起始点齐平,最后一项与终止点齐平
更多的属性值参考MDN:https://developer.mozilla.org/zh-CN/docs/Web/CSS/justify-content

2.align-content

align-content: center|start|end|baseline|space-evenly|space-between

属性定义了浏览器之间,如何分配顺着弹性容器交叉轴的元素之间及其周围的空间
center:居中排列
start:从起始位置开始排列
end:从末尾位置开始排列
baseline:沿着主轴排列
space-evenly:均匀排列每个元素,每个元素之间的间隔相等
space-between: 均匀分布项目第一项与起始点齐平,最后一项与终止点齐平
更多的属性值参考MDN:https://developer.mozilla.org/zh-CN/docs/Web/CSS/align-content

总结

常用flex属性总结,个人学习记录,每天进步多一点

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

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值