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 , 没有自动空间分配,子项元素是紧紧排列的。

 

posted @ 2020-04-14 12:32  全情海洋  阅读(902)  评论(0编辑  收藏  举报