CSS-Flex布局

Flex布局

容器(Flex Container)
在这里插入图片描述

元素项(Flex Item)

水平轴,横轴,主轴(main axis)

垂直轴,纵轴,交叉轴(cross axis)

Flex容器(Flex Container属性)

1.flex-direction—容器内元素的排列方向

row(默认值):主轴为水平方向,从左到右
row-reverse:主轴为水平方向,从右到左
column:主轴为垂直方向,从上到下
column-reverse:主轴为垂直方向,从下到上

2.flex-wrap—容器内元素的换行行为

nowrap(默认):不换行
wrap:换行,首行在上方
wrap-reverse:换行,首行在底部

3.flex-flow—direction和wrap的复合属性

flex-flow:<'flex-direction'>||<'flex-wrap'>
默认值为row nowrap

4.justify-content—元素在横轴上的对齐方式

flex-start(默认值):左对齐
flex-end:居中对齐
center:居中对齐
space-between:两端对齐,item之间的间隔相等
space-around:每个item两侧的间隔相等

5.align-items—元素在纵轴上的对齐方式

stretch(默认值):占满整个容器的高度
flex-start:与纵轴起点对齐
flex-end:与纵轴终点对齐
center:与纵轴中间对齐
baseline:与基线对齐

6.align-content—多行元素的对齐方向

stretch(默认值):占满整个容器的高度
flex-start:与纵轴起点对齐
flex-end:与纵轴终点对齐
center:与纵轴中间对齐
space-between:与纵轴两端对齐,item之间的间隔平均分布
space-around:每根轴线两侧的间隔相等

元素项(Flex Item)属性

1.order—排序规则,越小越靠前排列

默认值为0
数值越小,排列越靠前

2.flex-grow—放大(撑开)比例

0(默认值):如果存在剩余空间,也不放大
1:如果存在剩余空间,均分剩余空间
既有0,也有1:如果存在剩余空间,0的不撑大,1撑大>=1:如果存在剩余空间,按比例分配剩余空间

3.flex-shirk—收缩比例

1(默认):如果空间不足,该item将缩小

4.flex-basis—水平方向的大小

如果所有子元素的基准值之和大于剩余空间,则会根据每项设置基准值,按比例伸缩剩余空间
auto(默认值):无特定宽度指,取决于其它属性值
<length>:用长度值来定义宽度,不允许负值
<precenttage>用百分比来定义宽度,不允许负值
content:基于内容自动计算宽度

5.flex-grow:shirk、basis的复合属性

1:则其计算值为 1 1 0%
auto:则其计算值为1 1 auto
none:则其计算值为0 0 auto
0 auto:则其计算值为0 1 auto 

6.align-self—元素在纵轴上的对齐方式

auto(默认值):父元素的'align-items'值,若无,则为'stretch'
stretch:占满整个容器的高度
flex-start:与纵轴起点对齐
flex-end:与纵轴终点对齐
center:与纵轴中间对齐
baseline:与基线对齐
<!DOCTYPE html>
<html lang="en">
<head>
    <meta charset="UTF-8">
    <meta http-equiv="X-UA-Compatible" content="IE=edge">
    <meta name="viewport" content="width=device-width, initial-scale=1.0">
    <title>flex布局</title>
    <style type="text/css">
        .container{
            width:600px;
            height:600px;
            margin:0 auto;/*水平居中*/
            background-color:beige;
            display:flex;
            /*元素的排列方式*/
            flex-direction:row; 
            /*是否换行*/
            /* flex-wrap: wrap; */
            /*水平居中对齐*/
            /* justify-content:center; */
            /* flex-direction:column-reverse; */
            /* display:inline-flex */
        }
        .container div{
            /* width:250px; */
            width:100px;
            height:100px;
            /* flex-grow:0; */
        }
        .first{
            order:2;
            background:#f00;
        }
        .second{
            order:1;
            background:#ff0;
            flex-grow: 1;
        }
        .third{
            order:3;
            background:#00f;
        }
    </style>
</head>
<body>
    <div class="container">
        <div class="first">1</div>
        <div class="second">2</div>
        <div class="third">3</div>
    </div>
</body>
</html>
  • 1
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值