flex布局基础介绍

- flex布局

你了解flex布局吗?flex布局简单来说把元素分为了两大类,容器 项目。

容器

首先我们先浅谈一下容器的规则。容器拥有轴线,容器中的项目按照主轴的方向排列。轴线分为主轴和交叉轴,简单来说就是xy轴。x为主轴。而且容器内的项目是默认不能超过容器的,超出的话项目会自动等比缩小。因为轴线只有一条,所以默认项目也是不会换行的。

接着我们来浅聊一下容器的样式吧。

- flex-direction 修改主轴的方向
1. row 默认值,默认主轴的方向是水平方向的,起点在左端
2. row-reverse 主轴水平方向,起点右端
3. column  主轴为垂直方向,起点上方
4. column-reverse 主轴垂直方向,起点在下方

- flex-wrap 决定当一条轴线排不下时要不要换行
1. nowrap 默认不换行
2. wrap 换行,第一行在上方
3. wrap-reverse 换行,最后一方在上方,倒着排列

- flex-flow  是 flex-direction 和 flex-wrap 的简写
flex-flow:row  nowrap; 

- justity-content 定义下轴线上的对齐方式
1.flex-start 默认左对齐
2.flex-end 右对齐
3. center 居中
4. space-between 两端对齐 项目之间的间隔都相等
5. space-around 每个项目两侧的间隔相等,这只项目左右边距

- align-items 定义项目在交叉轴上的对齐方式
1. flex-start 交叉轴的起点对齐
2. flex-end 交叉轴的终点对齐
3. center 交叉轴的中点对齐
4. baseline 项目的第一行文字的基准线
5. stretch 默认值 如果项目未设置auto 或者高度 将沾满整个容器的高度

ps: 所以flex 水平垂直居中对齐的方式是
div:{display:flex;justity-content:center; align-items:center;}

- align-content 定义多个轴线的对齐方式,如果项目只有一个轴线,那么该属性不起作用。
1. flex-start: 与交叉轴的起点对齐
2. flex-end 与交叉轴的终点对齐
3. center 与交叉轴的终点对齐
4. space-between 
5. space-around
6. strech 默认值轴线沾满整个交叉轴

了解完容器,接下来我们了解一下项目。

项目

项目是容器的子元素,项目也可以当做容器,二者互不干扰。容器内的项目默认是从左到右排列的。项目自动会变成块元素(独立成行,可以设置宽高)。项目在交叉轴方向上没有设置大小,默认会自动根据容器交叉轴方向的大小一样,如果容器控制了项目在交叉轴的对齐方式,那么项目在交叉轴的大小就和项目的内容一致。

项目的样式 

- order 规定项目的排列顺序,数字越小排列越靠前,默认为0 值是一个数字
- flex-grow 规定项目的放大比列(剩余空间的分配) 一般写成0或1 0不是放大 1是放大
- flex-shrink 规定项目的缩小比例 一般写成0或1 0是不缩小,及时空间不够也不缩小,1 是缩小,等比缩小
- align-self 可以规定单独项目在交叉轴上不同的对齐方式。
- flex-basis 
- flex 是 flex-grow flex-shrink flex-basis 的简写。

通过上面的了解,我们就可以设置元素的垂直居中

    <style>
        .father {
            width: 500px;
             height: 300px;
            border: 1px solid #ccc;
            display: flex;
            justify-content: center;
            align-items: center;
        }

        .father div {
            border: 1px solid #ccc;
            margin: 10px;
            padding: 20px;
        }
    </style>

<body>
    <div class="father">
        <div class="son0">1</div>
        <div class="son1">2</div>
        <div class="son2">3</div>
    </div>
</body>

实现效果如下: 

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

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值