欢迎您访问程序员文章站本站旨在为大家提供分享程序员计算机编程知识!
您现在的位置是: 首页

弹性布局display:flex 的十二个属性

程序员文章站 2022-05-26 22:22:45
...

display:flex 的十二个属性

6个作用于父容器,6个作用于子项目

1.作用于父容器的6个属性:

1.flex-direction属性:决定主轴的方向
row(默认值):主轴为水平方向,起点在左端

<head>
    <meta charset="utf-8">
    <title>弹性布局</title>
    <style>
        .div{
            width: 1300px;
            background-color: green;
            height: 200px;
            display: flex;
            flex-direction:row;
        }
        .div1,.div2,.div3{
            width: 300px;
            height: 200px;
        }
        .div1{
            background-color: red;
        }
        .div2{
            background-color: darkcyan;
        }
        .div3{
            background-color: orange;
        }

    </style>
</head>

<body>
<div class="div">
    <div class="div1">one</div>
    <div class="div2">two</div>
    <div class="div3">three</div>
</div>
</body>

效果如下
弹性布局display:flex 的十二个属性
row-reverse:追轴在水平方向,起点在右端

.div{
            width: 1300px;
            background-color: green;
            height: 200px;
            display: flex;
            flex-direction:row;
        }

结果如下
弹性布局display:flex 的十二个属性
column:主轴为垂直方向,起点在上沿;

.div{
            width: 1300px;
            background-color: green;
            height: 200px;
            display: flex;
            flex-direction:column;
        }

结果如下
弹性布局display:flex 的十二个属性
column-reverse:主轴为垂直方向,起点在下沿

.div{
            width: 1300px;
            background-color: green;
            height: 200px;
            display: flex;
            flex-direction:column-reverse;
        }

弹性布局display:flex 的十二个属性
结果如下图
2.flex-wrap属性:定义:如果一条轴线排不下,是否换行,如何换行
nowrap:(默认值)不换行,当容器宽度不够时,每个项目会被挤压宽度;

.div{
            width: 100%;
            background-color: green;
            height: 200px;
            display: flex;
            flex-wrap: wrap;
        }

结果如下
弹性布局display:flex 的十二个属性
wrap:换行,并且第一行在容器最上方;

 .div{
            width: 100%;
            background-color: green;
            height: 200px;
            display: flex;
            flex-wrap: wrap;
        }

结果如下
弹性布局display:flex 的十二个属性
wrap-reverse:换行,并且第一行在容器最下方;

.div{
            width: 100%;
            background-color: green;
            height: 200px;
            display: flex;
            flex-wrap: wrap-reverse;
            margin-top: 200px;
        }

结果如下
弹性布局display:flex 的十二个属性
3.flex-flow :
是【flex-direction和flex-wrap】的缩写形式,默认值是:flex-flow:row wrap;

.div{
            width: 100%;
            background-color: green;
            height: 200px;
            display: flex;
            flex-flow: row wrap;
            margin-top: 200px;
        }

4.justify-content属性:定义:项目在主轴上的对齐方式
(此属性与主轴方向息息相关)
主轴方向:row-起点在左边,row-reverse-起点在左边,column-起点在上边,column-reverse-起点在下边
flex-start(默认值):项目位于主轴起点

.div{
            width: 100%;
            background-color: green;
            height: 200px;
            display: flex;
            justify-content:flex-start;
            margin-top: 200px;
        }

结果如下
弹性布局display:flex 的十二个属性
flex-end:项目位于主轴终点

.div{
            width: 100%;
            background-color: green;
            height: 200px;
            display: flex;
            justify-content:flex-end;
            margin-top: 200px;
        }

结果如下
弹性布局display:flex 的十二个属性
center:居中

.div{
            width: 100%;
            background-color: green;
            height: 200px;
            display: flex;
            justify-content:center;
            margin-top: 200px;
        }

结果如下
弹性布局display:flex 的十二个属性
space-between:两端对齐,项目之间的间距都相等。(开头和最后的项目,与父容器边缘没有间隔)

.div{
            width: 100%;
            background-color: green;
            height: 200px;
            display: flex;
            justify-content:space-between;
            margin-top: 200px;
        }

效果如下
弹性布局display:flex 的十二个属性
space-around:每个项目两侧的间隔相等。所以项目之间的间隔比项目与边框的间隔大一倍。(开头和最后的项目,与父容器边缘有一定的间隔);

.div{
            width: 100%;
            background-color: green;
            height: 200px;
            display: flex;
            justify-content:space-around;
            margin-top: 200px;
        }

结果如下
弹性布局display:flex 的十二个属性
5.align-items属性:定义:项目在交叉轴上如何对齐
flex-start:交叉轴的起点对齐;

.div{
            width: 100%;
            background-color: green;
            height: 200px;
            display: flex;
            justify-content:space-between;
            align-item:flex-start;    
        }

结果如下
弹性布局display:flex 的十二个属性
flex-end:交叉轴的终点对齐;

.div{
            width: 100%;
            background-color: green;
            height: 200px;
            display: flex;
            justify-content:space-between;
            align-item:flex-end;       
        }

结果如下
弹性布局display:flex 的十二个属性
center:交叉轴的中点对齐;

.div{
            width: 100%;
            background-color: green;
            height: 200px;
            display: flex;
            justify-content:space-between;
            align-item:center;            
        }

效果如下
弹性布局display:flex 的十二个属性

stretch(默认值):如果项目未设置高度或设为 【auto】,将占满整个容器的高度。

.div{
            width: 100%;
            background-color: green;
            height: 500px;
            display: flex;
            justify-content: space-between;
            align-items: stretch;
        }

结果如下
弹性布局display:flex 的十二个属性
baseline:项目的第一行文字的基线对齐。(文字的行高,字体大小会影响美航的基线)

.div{
            width: 100%;
            background-color: green;
            height: 500px;
            display: flex;
            justify-content: space-between;
            align-items: baseline;
        }

弹性布局display:flex 的十二个属性
6.align-content属性:定义:多跟轴线的对齐方式。如果项目只有一根轴线,该属性不起作用。
(当项目换为多行时,可使用align-content取代align-items)
flex-start:与交叉轴的起点对齐;
flex-end:与交叉轴的终点对齐;
center:与交叉轴的中点对齐;
space-between:与交叉轴两端对齐,轴线之间的间隔平均分布。
space-around:每根轴线两侧的间隔都相等。所以,轴线之间的间隔比轴线与边框的间隔大一倍。
stretch(默认值):轴线占满整个交叉轴;

2.作用于子项目中的6大属性

1.order属性:定义:项目中的排列顺序。数值越小,排列越靠前。默认值为0;
2.flex-grow属性:定义:项目的放大比例。默认值是0;即如果存在剩余空间,也不放大;
3.flex-shrink属性:定义:项目的缩小比例,默认值是1,即如果空间不足,该项目将缩小;
4.flex-basis定义:项目占据的株洲空间。(如果主轴方向为水平方向,则设置这个属性,相当于设置项目的宽度。原来的【width】将会失效);
5.flex属性是flex-grow,flex-shrink和flex-basis的简写,默认值是0,1,auto。然后两个属性可选。
6.align-self:定义:单个项目自身在交叉轴上的排列方式,可以覆盖掉容器上的align-items属性;
属性值:与align相同,默认值为auto,表示继承父元素容器的align-items属性值.
对于字项目中的6大属性我们下篇分析.

相关标签: css flex

上一篇: CSS

下一篇: PHP 运行时漏洞检测