css 彈性盒子(flex布局)的起邊和終邊詳解


  1 <!DOCTYPE html>
  2 <html>
  3     <head>
  4         <meta charset="utf-8">
  5         <title></title>
  6         <style>
  7             *{
  8                 margin: 0;
  9                 padding: 0;
 10                 list-style: none;
 11             }
 12             
 13             ul{
 14                 width: 200px;
 15                 height: 500px;
 16                 border: 4px red solid;
 17                 
 18                 margin: 0 auto;
 19                 
 20                 /* 設置彈性容器 */
 21                 display: flex;
 22                 
 23                 /* 設置容器主軸和側軸 */
 24                 /* flex-direction: column;
 25                 flex-wrap: wrap; */
 26                 
 27                 flex-flow: row wrap; 
 28                 
 29                 /* 
 30                     justify-content 設置元素在主軸上的對齊方式
 31                         flex-start 默認值 彈性項沿着主軸起邊對齊
 32                         flex-end     彈性項沿着主軸終邊對齊
 33                         center         彈性項沿着主軸居中對齊
 34                         space-around 空白空間平均分配到每一個元素的兩側
 35                         space-evenly 將空白空間分配到元素的一側
 36                         space-between 將空白空間分配到兩個元素之間
 37                         
 38                         
 39                  
 40                  */
 41                 justify-content: flex-start ;
 42                 
 43                 
 44                 /* align-items
 45                     - 設置側軸上元素的對齊方式
 46                     - 可選值:
 47                         stretch ,默認值 輔軸上的元素將會被拉伸為相同的高度
 48                         flex-start 使元素沿着輔軸的起邊對齊
 49                         flex-end 使元素沿着輔軸的終邊對齊
 50                         center 使元素沿着輔軸的中間對齊
 51                 */
 52                align-items: flex-end;
 53                
 54                /* 
 55                 align-content: ;
 56                     - 用來設置側軸上空白空間的分布
 57                     - 可選值:
 58                         space-around
 59                         space-between
 60                         space-evenly
 61                 */
 62                /* align-content: space-evenly; */
 63             }
 64             
 65             ul li{
 66                 width: 100px;
 67                 height: 150px;
 68                 font-size: 50px;
 69                 color: #fff;
 70                 
 71                 /* 
 72                     元素的縮減系數越大,本身大小越大,縮減的越多
 73                  */
 74                 /* flex-shrink:1; */
 75                 
 76                 /* flex-grow: 10; */
 77             }
 78             
 79             li:nth-child(1){
 80                 background-color: orange;
 81                 
 82                 font-size: 80px;
 83                 
 84                 /* 
 85                     align-self 彈性元素的屬性
 86                         - 和 align-items作用一樣,值也一樣,
 87                             不同點在於self用於單獨設置某個元素的對齊方式
 88                  */
 89                 /* align-self: stretch; */
 90                 
 91             }
 92             
 93             li:nth-child(2){
 94                 background-color: pink;
 95             }
 96             
 97             li:nth-child(3){
 98                 background-color: #bfa;
 99             }
100             
101             li:nth-child(4){
102                 background-color: #00FFFF;
103             }
104             
105         </style>
106     </head>
107     <body>
108         
109         <ul>
110             <li>1</li>
111             <li>2</li>
112             <li>3</li>
113             <li>4</li>
114         </ul>
115         
116     </body>
117 </html>

效果

 

 

內容;副軸終邊對齊方式

1.父元素ul設置了flex,高度height: 500px;,也換行了,此時父元素的高度空間被分配為兩行。

2.父元素ul設置,flex-flow: row wrap; align-items: flex-end;側軸對齊方式為終邊對齊,側軸由上到下換行,此時對於,子項的起邊和終邊如圖所示

 

 

 

內容;主軸終邊對齊方式

1.父元素設置justify-content: flex-end , 沒有自動空間分配,子項元素是緊緊排列的。

 


免責聲明!

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



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