css中的弹性布局

需求:多个div从下往上布局 ,div垂直居中

任何一个容器可以指定为flex布局,但是td和th等标签本身已有布局,所以重写display属性会使元素失去原有的布局特性

*{

display:flex

}

任何一个被设置为弹性布局的容器会有两条抽象的轴,弹性布局的容器的有以下属性

  • flex-direction   决定项目主轴的排列方向
    • row 主轴方向从左到右排列,主轴为横向轴
    • row-reverse 主轴方向从右到左排列
    • column 主轴为纵向纵
    • column-reverse 交叉轴上从下往上排列
  • flex-wrap     所有项目如何被包裹
    • nowarp  不换行(列),项目的宽高会变化
    • wrap 换行(列),溢出会顺序换行
    • wrap-reverse 反向排列
  • flex-flow flex-flow属性是flex-direction属性和flex-wrap属性的简写形式,默认值为row nowrap
  • justify-content justify-content属性定义了项目在主轴上的对齐方式。
    • flex-start(默认值):左对齐
    • flex-end:右对齐
    • center: 居中
    • space-between:两端对齐,项目之间的间隔都相等。
    • space-around:每个项目两侧的间隔相等。所以,项目之间的间隔比项目与边框的间隔大一倍。
  • align-items align-items属性定义项目在交叉轴上如何对齐
    •  flex-start:交叉轴的起点对齐。
    • flex-end:交叉轴的终点对齐。
    • center:交叉轴的中点对齐。
    • baseline: 项目的第一行文字的基线对齐。
    • stretch(默认值):如果项目未设置高度或设为auto,将占满整个容器的高度。
  • align-content align-content属性定义了多根轴线的对齐方式。如果项目只有一根轴线,该属性不起作用。
    • flex-start:与交叉轴的起点对齐。
    • flex-end:与交叉轴的终点对齐。
    • center:与交叉轴的中点对齐。
    • space-between:与交叉轴两端对齐,轴线之间的间隔平均分布。
    • space-around:每根轴线两侧的间隔都相等。所以,轴线之间的间隔比轴线与边框的间隔大一倍。
    • stretch(默认值):轴线占满整个交叉轴。

    

<!DOCTYPE html>
<html lang="en">
<head>
    <meta charset="UTF-8">
    <title>Title</title>
    <style>
        .container{
            width:500px;
            height:500px;
            border: 1px solid #0e90d2;
            display: flex;
            flex-direction:row-reverse;
        }
        .box{
            width:200px;
            height:200px;
            background:#bbbbbb;
        }
    </style>
</head>
<body>
    <div class="container">
        <div class="box">
            1
        </div>
        <div class="box">
            2
        </div>
        <div class="box">
            3
        </div>
        <div class="box">
            4
        </div>
        <div class="box">
            5
        </div>

    </div>
</body>
</html>

 

posted @ 2019-09-16 16:52  tooSimple_sz  阅读(3285)  评论(0编辑  收藏  举报