flex布局(flex-warp 設置子元素是否換行 align-items設置側軸上的子元素排列方式(單行) align-content(多行)flex-flow是flex-direction和flex-wrap的復合寫法)


flex-wrap`設置子元素是否換行

nowrap默認不換行,如果撞不開縮小子元素寬度。

wrap換行

        div {
            display: flex;
            /* 默認不換行 */
            flex-wrap: nowrap;
            /* 換行 */
            flex-wrap: wrap;
            width: 500px;
            height: 300px;
            background-color: pink;
        }
        span {
            width: 150px;
            height: 100px;
            background-color: purple;
            color: azure;
        }
<div>
        <span>1</span>
        <span>2</span>
        <span>3</span>
        <span>3</span>
    </div>

align-items設置側軸上的子元素排列方式(單行)

flex-start 從上到下

flex-end 從下到上

center擠在一起居中(垂直居中)

div {
            display: flex;
            /* 把默認row軸x軸寫出來了 */
            flex-direction: row;
            /* 控制主軸的x軸的子元素排列方式 */
            justify-content: center;
            /* 側軸Y軸的排列方式,緊貼上側 */
            align-items: flex-start;
            /* 緊貼下側 */
            align-items: flex-end;
            /* 居中 */
            align-items: center;
            width: 800px;
            height: 300px;
            background-color: pink;
        }
        span {
            width: 150px;
            height: 100px;
            background-color: purple;
            color: azure;
            margin: 10px;
        }
    <div>
        <span>1</span>
        <span>2</span>
        <span>3</span>
        <span>3</span>
    </div>

stretch 拉伸(默認)

拉伸是不能給子盒子高度

div {
            display: flex;
            /* 拉伸 */
            align-items: stretch;
            width: 800px;
            height: 300px;
            background-color: pink;
        }
        span {
            width: 150px;
            background-color: purple;
            color: azure;
            margin: 10px;
        }
<div>
        <span>1</span>
        <span>2</span>
        <span>3</span>
        <span>3</span>
 </div>

align-content設置側軸上的子元素的排列方式(多行)在多行和換行的情況下使用

flex-start 默認值在側軸的頭部開始

flex-end 在側軸的尾部開始排列

center 在側軸中間顯示

space-around子項在側軸平分剩余空間

space-between 子項在側軸先分布兩頭,在平分中間空間

stretch 設置子項元素高度平分元素高度

div {
            display: flex;
            /* 默認x軸 */
            flex-direction: row;
            /* 盒子需要排列換行 */
            flex-wrap: wrap;
            /* x軸排列兩側貼近平均分 */
            justify-content: space-between;
            /* Y軸排列居中 */
            align-content: center;
            /* Y軸向上排列 */
            align-content: flex-start;
            /* Y軸向下排列 */
            align-content: flex-end;
            /* Y軸平均分配空間 */
            align-content: space-around;
            /* 兩側貼近平均分配空間 */
            align-content: space-between;
            width: 800px;
            height: 300px;
            background-color: pink;
        }
        span {
            width: 150px;
            height: 100px;
            background-color: purple;
            color: azure;
            margin: 10px;
        }
<div>
        <span>1</span>
        <span>2</span>
        <span>3</span>
        <span>4</span>
        <span>1</span>
        <span>2</span>
        <span>3</span>
        <span>4</span>
        
    </div>

flex-flow復合屬性,相當於同時設置了flex-direction和flex-wrap

div {
            display: flex;
            width: 600px;
            height: 300px;
            background-color: pink;
            /* 單獨寫法 */
            flex-direction: column;
            flex-wrap: wrap;
            /* 復合寫法 */
            flex-flow: column wrap;
        }
        span {
            width: 150px;
            height: 100px;
            background-color: purple;
            color: azure;
        }
<div>
        <span>1</span>
        <span>2</span>
        <span>3</span>
        <span>4</span>
        <span>5</span> 
    </div>


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM