css3伸缩盒模型第二章(侧轴相关)
css3伸缩盒模型第二章(侧轴相关)
侧轴对齐方式
侧轴对齐我们需要分两种情况,一种是多行,一种是单行,两种设置方式不同
- 属性:align-items 单行
- 属性: align-content 多行
单行 align-items
- flex-start: 侧轴的起点对齐
- flex-end :侧轴的终点对齐。
- center :侧轴的中点对齐。
- baseline : 伸缩项目的第一行文字的基线对齐。
- stretch :如果伸缩项目未设置高度,将占满整个容器的高度。—— (默认值)
基本代码
<title>06.侧重对齐方式</title><style>.outer {width: 1000px;height: 600px;background-color: #888;margin: 0 auto;/* 开启弹性盒子 */display: flex;/* 主轴方向默认 */flex-direction: row;/* 默认不换行 */flex-wrap: nowrap;/* 侧轴方向 *//* 第一种方式    从上到下 */align-items: flex-start;/* 第二种方式   从下到上 *//* align-items: flex-end;  *//* 第三种方式   居中 *//* align-items: center; *//* 第四种方式   基线对齐 *//* align-items: baseline; *//* 第五种方式    自动拉伸填满   需要将元素高度都设置为0  *//* align-items: stretch; */}.inner {width: 200px;height: 200px;background-color: chocolate;border: 1px solid black;box-sizing: border-box;}.inner2 {height: 300px;}.inner3 {height: 100px;}.inner_stre {width: 200px;background-color: paleturquoise;border: 1px solid black;}.inner-baseline {font-size: 80px;}</style>
</head>
<body><div class="outer"><div class="inner">1</div><div class="inner inner2">2</div><div class="inner inner3">3</div></div><!-- 基线对齐    font-size: 80px;   --><!-- <div class="outer"><div class="inner">1X</div><div class="inner inner2 inner-baseline">2X</div><div class="inner inner3">3X</div></div> --><!-- 拉伸 默认方式--><!-- <div class="outer"><div class="inner_stre">1</div><div class="inner_stre">2</div><div class="inner_stre">3</div></div> -->
</body>
flex-start
侧轴的起点对齐,也就是从上到下
align-items: flex-start;

flex-end
从侧轴的重点方向,从下到上
/* 第二种方式 从下到上 */
 align-items: flex-end;

center
项目居中对齐;
/* 第三种方式 居中 */
 align-items: center;

baseline
基线对齐,我们需要将项目里面的内容设置一个X的字母,然后将字母调整大一些,这个时候观察,就是以基线对齐了;
-  代码 .inner-baseline {font-size: 80px;}<!-- 基线对齐 font-size: 80px; --><div class="outer"><div class="inner">1X</div><div class="inner inner2 inner-baseline">2X</div><div class="inner inner3">3X</div></div>/* 第四种方式 基线对齐 */  align-items: baseline; 

stretch
自动拉伸,也就是说当我们没有设置高度的时候,项目会自动拉伸整个高度,直至完全填充整个父容器的高度
- 代码
  <div class="outer"><div class="inner_stre">1</div><div class="inner_stre">2</div><div class="inner_stre">3</div></div>
/* 第五种方式 自动拉伸填满 需要将元素高度都设置为0 */
 align-items: stretch;

多行 align-content
我们设置整个容器的高度加到900px,将内容撑开,保证有三行效果,且第一行每个元素高度不同
- 属性:align-content
- 属性值: - flex-start :与侧轴的起点对齐。
- flex-end :与侧轴的终点对齐。
- center :与侧轴的中点对齐。
- space-between :与侧轴两端对齐,中间平均分布。
- space-around :伸缩项目间的距离相等,比距边缘大一倍。
- space-evenly : 在侧轴上完全平分。
- stretch :占满整个侧轴。—— 默认值
 
基本代码
<meta name="viewport" content="width=device-width, initial-scale=1.0"><title>06.侧重对齐方式</title><style>.outer {width: 1000px;height: 900px;background-color: #888;margin: 0 auto;/* 开启弹性盒子 */display: flex;/* 主轴方向默认 */flex-direction: row;/* 换行 */flex-wrap: wrap;/* 多行对齐方式   *//* 方式1   全都挨到一起了,不留空隙,节约主义 *//* align-content: flex-start; *//* 方式2  将上面留着往下挤    *//* align-content: flex-end; *//* 方式3   居中   两边留相同的间隙 *//* align-content: center; *//* 方式4  项目间距离是两侧距离的2倍*//* align-content: space-around; *//* 方式4   两侧不留间隙,项目间间隙相等*/align-content: space-between;/* 方式5  间隙均分 *//* align-content: space-evenly; *//* 方式5   拉伸,全部填充    需要将高度都去掉 *//* align-content: stretch; */}.inner {width: 200px;height: 200px;background-color: plum;border: 1px solid black;box-sizing: border-box;font-size: 30px;text-align: center;line-height: 200px;}.inner2 {height: 300px;}.inner1 {height: 100px;}.inner_stretch {width: 200px;background-color: pink;border: 1px solid black;box-sizing: border-box;font-size: 30px;text-align: center;line-height: 200px;}</style>
</head>
<body><div class="outer"><div class="inner">1</div><div class="inner inner2">2</div><div class="inner inner3">3</div><div class="inner">4</div><div class="inner">5</div><div class="inner">6</div><div class="inner">7</div><div class="inner">8</div><div class="inner">9</div><div class="inner">10</div><div class="inner">11</div></div><!-- stretch--><!-- <div class="outer"><div class="inner_stretch">1</div><div class="inner_stretch">2</div><div class="inner_stretch">3</div><div class="inner_stretch">4</div><div class="inner_stretch">5</div><div class="inner_stretch">6</div><div class="inner_stretch">7</div><div class="inner_stretch">8</div><div class="inner_stretch">9</div><div class="inner_stretch">10</div><div class="inner_stretch">11</div>
</div> --></body>
-  默认效果,设置换行  
flex-start
/* 方式1 全都挨到一起了,不留空隙,节约主义 */
 align-content: flex-start;

flex-end
/* 方式2 将上面留着往下挤 */
 align-content: flex-end;

center
居中对齐,两边留缝隙
/* 方式3 居中 两边留相同的间隙 */
 align-content: center;

space-around
项目间距离是两侧距离的2倍,项目与项目间的距离相等
/* 方式4 项目间距离是两侧距离的2倍*/
 align-content: space-around;

space-between
两侧不留间隙,项目间间隙相等
/* 方式4 两侧不留间隙,项目间间隙相等*/
 align-content: space-between;

space-evenly
间隙均分,所有剩余的空间按照相同的比例均分
/* 方式5 间隙均分 */
 align-content: space-evenly;

stretch
拉伸(默认值),全部填充 , 需要将高度都去掉
/* 方式5 拉伸,全部填充 需要将高度都去掉 */
 align-content: stretch;
-  代码 <div class="outer"><div class="inner_stretch">1</div><div class="inner_stretch">2</div><div class="inner_stretch">3</div><div class="inner_stretch">4</div><div class="inner_stretch">5</div><div class="inner_stretch">6</div><div class="inner_stretch">7</div><div class="inner_stretch">8</div><div class="inner_stretch">9</div><div class="inner_stretch">10</div><div class="inner_stretch">11</div> </div>

