批改状态:合格
老师批语:以后的布局,绝对是越来越简单的, 越来越人性的, 但这种简单是相对的... 之前用浮动布局是没办法,hack方式, 后来才有了专用于布局的技术例如flex,grid, 以后还肯定还会出现更加牛逼先进的方式, 准备订个头套吧, 发量会越来越少
flex布局分两种, 一种是flex容器独占一行的布局方式(flex), 另一种是类似行内块元素布局的方式(inline-flex).
<!DOCTYPE html><html lang="en"><head><meta charset="UTF-8" /><meta name="viewport" content="width=device-width, initial-scale=1.0" /><title>初识flex布局</title><style>/* 2.设置容器样式 */.container {width: 300px;height: 150px;}/* 3.设置项目样式 */.item {width: 100px;height: 50px;background-color: bisque;font-size: 1.5rem;}/* 4.将容器/父元素设置为flex容器 */.container {display: flex;/* 4.1.行内块形式的flex容器 *//* display: inline-flex; */}</style></head><body><h2>初识flex布局</h2><!-- 1.先写好元素 --><!-- 1.1.flex容器 --><div class="container"><!-- 1.2.flex容器中的元素, 又叫"项目", 都会被当做行内块元素来处理 --><div class="item">1</div><div class="item">2</div><div class="item">3</div><div class="item">4</div></div><!-- 4.1.演示行内块形式的flex容器用 --><!-- <div class="container"><div class="item">1</div><div class="item">2</div><div class="item">3</div><div class="item">4</div></div> --></body></html>
flex的主轴可以是水平的,也可以是垂直的.可以使用flex-direction属性设置其主轴方向.
<!DOCTYPE html><html lang="en"><head><meta charset="UTF-8" /><meta name="viewport" content="width=device-width, initial-scale=1.0" /><title>设置flex的主轴方向</title><style>/* 2.设置容器样式 */.container {width: 300px;height: 150px;}/* 3.设置项目样式 */.item {width: 100px;height: 50px;background-color: bisque;font-size: 1.5rem;}/* 4.将容器/父元素设置为flex容器 */.container {display: flex;}/* 5.设置主轴方向 */.container {flex-direction: row; /* 水平方向, 从左到右; 默认值 *//* flex-direction: row-reverse; */ /* 水平方向, 从右到左 *//* flex-direction: column; */ /* 垂直方向, 从上到下 *//* flex-direction: column-reverse; */ /* 垂直方向, 从下到上 */}</style></head><body><h2>设置flex的主轴方向</h2><!-- 1.先写好元素 --><!-- 1.1.flex容器 --><div class="container"><!-- 1.2.flex容器中的元素, 又叫"项目", 都会被当做行内块元素来处理 --><div class="item">1</div><div class="item">2</div><div class="item">3</div><div class="item">4</div></div></body></html>
使用flex-wrap属性设置主轴方向的布局方式.其值有:
wrap-reverse:反向多行容器, 多出的项目往交叉轴的开始端方向拆行显示.
<!DOCTYPE html><html lang="en"><head><meta charset="UTF-8" /><meta name="viewport" content="width=device-width, initial-scale=1.0" /><title>设置flex主轴方向的项目布局方式</title><style>/* 2.设置容器样式 */.container {width: 300px;height: 150px;}/* 3.设置项目样式 */.item {width: 100px;height: 50px;background-color: bisque;font-size: 1.5rem;}/* 4.将容器/父元素设置为flex容器 */.container {display: flex;/* 4.1.主轴以水平方向, 从左到右为例; */flex-direction: row;}/* 5.设置主轴方向的项目布局形式 */.container {/* 不换行(默认值), 若当前容器容纳不下, 项目自动收缩 */flex-wrap: nowrap;/* 换行布局, 若当前容器容纳不下, 多出的项目往交叉轴的结束端方向拆行显示; 此时, 创建的flex容器叫: 多行容器 *//* flex-wrap: wrap; *//* 反向多行容器, 多出的项目往交叉轴的开始端方向拆行显示. *//* flex-wrap: wrap-reverse; */}</style></head><body><h2>设置flex主轴方向的项目布局方式</h2><!-- 1.先写好元素 --><!-- 1.1.flex容器 --><div class="container"><!-- 1.2.flex容器中的元素, 又叫"项目", 都会被当做行内块元素来处理 --><div class="item">1</div><div class="item">2</div><div class="item">3</div><div class="item">4</div></div></body></html>
flex-flow属性的值为两个属性值时, 是flex-direction和flex-wrap属性值的排列组合.
<!DOCTYPE html><html lang="en"><head><meta charset="UTF-8" /><meta name="viewport" content="width=device-width, initial-scale=1.0" /><title>用flex-flow属性同时设置主轴方向和主轴方向的项目布局方式</title><style>/* 2.设置容器样式 */.container {width: 300px;height: 150px;}/* 3.设置项目样式 */.item {width: 100px;height: 50px;background-color: bisque;font-size: 1.5rem;}/* 4.将容器/父元素设置为flex容器 */.container {display: flex;}/* 5.同时设置主轴方向和主轴方向的项目布局方式 */.container {/* 两个值, 第一个值是主轴方向, 第二个值是布局方式 *//* 水平方向,从左到右,不折行 */flex-flow: row nowrap;/* 水平方向,从左到右,折行 *//* flex-flow: row wrap; *//* 水平方向,从左到右,反向折行 *//* flex-flow: row wrap-reverse; *//* 水平方向,从右到左,不折行 *//* flex-flow: row-reverse nowrap; *//* 就是主轴属性值和布局方式属性值的排列组合, 其他略... */}</style></head><body><h3>用flex-flow属性同时设置主轴方向和主轴方向的项目布局方式</h3><!-- 1.先写好元素 --><!-- 1.1.flex容器 --><div class="container"><!-- 1.2.flex容器中的元素, 又叫"项目", 都会被当做行内块元素来处理 --><div class="item">1</div><div class="item">2</div><div class="item">3</div><div class="item">4</div></div></body></html>
<!DOCTYPE html><html lang="en"><head><meta charset="UTF-8" /><meta name="viewport" content="width=device-width, initial-scale=1.0" /><title>设置flex主轴方向的项目对齐方式</title><style>/* 2.设置容器样式 */.container {width: 300px;height: 150px;}/* 3.设置项目样式 */.item {width: 50px;height: 50px;background-color: bisque;font-size: 1.5rem;}/* 4.将容器/父元素设置为flex容器 */.container {display: flex;/* 4.1.主轴以水平方向, 从左到右为例; */flex-direction: row;/* 4.2.主轴项目布局以不折行为例 */flex-wrap: nowrap;}/* 5.设置主轴方向的项目对齐形式 */.container {/* 跟主轴的起始线对齐, 本例的条件设置,就是左对齐 */justify-content: flex-start;/* 跟主轴的结束线对齐, 本例的条件设置,就是右对齐 *//* justify-content: flex-end; *//* 主轴方向居中对齐, 本例的条件设置,就是水平居中 *//* justify-content: center; *//* 两端对齐: 左右两个项目抵到主轴的起始线和结束线,中间的项目间距平均分 *//* justify-content: space-between; *//* 分散对齐: 各个项目左右分配的间距相等, 且相邻项目的间距不重叠 *//* justify-content: space-around; *//* 平均对齐: 各个项目左右分配的间距相等, 相邻项目的间距重叠(类似margin) *//* justify-content: space-evenly; */}</style></head><body><h2>设置flex主轴方向的项目对齐方式</h2><div style="margin-bottom: 20px; font-size: small;">注意:只有flex容器主轴方向上还有剩余空间的时候才有效</div><!-- 1.先写好元素 --><!-- 1.1.flex容器 --><div class="container"><!-- 1.2.flex容器中的元素, 又叫"项目", 都会被当做行内块元素来处理 --><div class="item">1</div><div class="item">2</div><div class="item">3</div><div class="item">4</div></div></body></html>
<!DOCTYPE html><html lang="en"><head><meta charset="UTF-8" /><meta name="viewport" content="width=device-width, initial-scale=1.0" /><title>设置flex交叉轴方向的项目对齐方式</title><style>/* 2.设置容器样式 */.container {width: 300px;height: 150px;}/* 3.设置项目样式 */.item {width: 50px;height: 50px;background-color: bisque;font-size: 1.5rem;}/* 4.将容器/父元素设置为flex容器 */.container {display: flex;/* 4.1.主轴以水平方向, 从左到右为例; */flex-direction: row;/* 4.2.主轴项目布局以不折行为例 */flex-wrap: nowrap;}/* 5.设置交叉轴方向的项目对齐形式 */.container {/* 跟交叉轴的起始线对齐, 本例的条件设置,就是上对齐 */align-items: flex-start;/* 跟交叉轴的结束线对齐, 本例的条件设置,就是下对齐 *//* align-items: flex-end; *//* 交叉轴方向居中对齐, 本例的条件设置,就是垂直居中 *//* align-items: center; */}</style></head><body><h2>设置flex交叉轴方向的项目对齐方式</h2><div style="margin-bottom: 20px; font-size: small;">注意1:只有flex容器交叉轴方向上还有剩余空间的时候才有效<br />注意2:只针对flex容器为单行容器有效.即, flex-wrap: nowrap;</div><!-- 1.先写好元素 --><!-- 1.1.flex容器 --><div class="container"><!-- 1.2.flex容器中的元素, 又叫"项目", 都会被当做行内块元素来处理 --><div class="item">1</div><div class="item">2</div><div class="item">3</div><div class="item">4</div></div></body></html>
<!DOCTYPE html><html lang="en"><head><meta charset="UTF-8" /><meta name="viewport" content="width=device-width, initial-scale=1.0" /><title>设置flex交叉轴方向的项目对齐方式</title><style>/* 2.设置容器样式 */.container {width: 100px;height: 350px;}/* 3.设置项目样式 */.item {width: 100px;height: 50px;background-color: bisque;font-size: 1.5rem;}/* 4.将容器/父元素设置为flex容器 */.container {display: flex;/* 4.1.主轴以水平方向, 从左到右为例; */flex-direction: row;/* 4.2.主轴项目布局以折行为例 */flex-wrap: wrap;}/* 5.设置交叉轴方向的项目对齐形式 */.container {/* 自动拉伸, 默认的对齐方式(要把.item的height属性(line16)去掉才能看到效果) */align-content: stretch;/* 跟交叉轴的起始线对齐, 本例的条件设置,就是上对齐 *//* align-content: flex-start; *//* 跟交叉轴的结束线对齐, 本例的条件设置,就是下对齐 *//* align-content: flex-end; *//* 交叉轴方向居中对齐, 本例的条件设置,就是垂直居中 *//* align-content: center; *//* 交叉轴方向两端对齐, 上下(本例属性设置,交叉轴为垂直方向,所以为上下)两个项目抵到交叉轴的起始线和结束线,中间的项目间距平均分 *//* align-content: space-between; *//* 交叉轴方向分散对齐, 各个项目上下(本例...)分配的间距相等, 且相邻项目的间距不重叠 *//* align-content: space-around; *//* 交叉轴方向平均对齐, 各个项目上下(本例...)分配的间距相等, 相邻项目的间距重叠(类似margin) *//* align-content: space-evenly; */}</style></head><body><h2>设置flex交叉轴方向的项目对齐方式</h2><div style="margin-bottom: 20px; font-size: small;">注意1:只有flex容器交叉轴方向上还有剩余空间的时候才有效<br />注意2:只针对flex容器为多行容器有效.即, flex-wrap为wrap/wrap-reverse时有效;</div><!-- 1.先写好元素 --><!-- 1.1.flex容器 --><div class="container"><!-- 1.2.flex容器中的元素, 又叫"项目", 都会被当做行内块元素来处理 --><div class="item">1</div><div class="item">2</div><div class="item">3</div><div class="item">4</div></div></body></html>
在项目上,使用order属性可以设置该项目的排序权值.权值可以是正数,0,负数.
<!DOCTYPE html><html lang="en"><head><meta charset="UTF-8" /><meta name="viewport" content="width=device-width, initial-scale=1.0" /><title>设置flex主轴方向的项目排序</title><style>/* 2.设置容器样式 */.container {width: 300px;height: 150px;}/* 3.设置项目样式 */.item {width: 100px;height: 50px;background-color: bisque;font-size: 1.5rem;}/* 4.将容器/父元素设置为flex容器 */.container {display: flex;/* 4.1.主轴以水平方向, 从左到右为例; */flex-direction: row;/* 4.2.设置主轴方向不折行 */flex-wrap: nowrap;}/* 5.设置容器中的项目的默认排序权值(排序规则为:朝主轴布局方向按照排序权值 升序) */.container {/* 在容器中设置order值,这样所有.item的order值初始都是0 */order: 0;}/* 6.修改单个项目的order值, 实现项目排序顺序调整 *//* 6.1.修改第二个.item的order值为2, 根据排序规则, 它就拍到最后了 */.item:nth-child(2) {order: 2;}/* 6.2.修改第四个.item的order值为-1, 根据排序规则, 它就排在第一个了(-1比0小) */.item:last-child {order: -1;}</style></head><body><h2>设置flex主轴方向的项目排序</h2><div>排序规则为:朝主轴布局方向按照"排序权值(order样式值)"升序排列</div><!-- 1.先写好元素 --><!-- 1.1.flex容器 --><div class="container"><!-- 1.2.flex容器中的元素, 又叫"项目", 都会被当做行内块元素来处理 --><div class="item">1</div><div class="item">2</div><div class="item">3</div><div class="item">4</div></div></body></html>
只针对flex容器为单行容器有意义.即, flex-wrap: nowrap; 多行容器,虽然有些单独样式也有效果,但是好像意义不大(个人测试得出的结论)。
<!DOCTYPE html><html lang="en"><head><meta charset="UTF-8" /><meta name="viewport" content="width=device-width, initial-scale=1.0" /><title>设置flex交叉轴方向的某个项目单独的对齐方式</title><style>/* 2.设置容器样式 */.container {width: 300px;height: 150px;}/* 3.设置项目样式 */.item {width: 50px;/* height: 50px; */background-color: bisque;font-size: 1.5rem;}/* 4.将容器/父元素设置为flex容器 */.container {display: flex;/* 4.1.主轴以水平方向, 从左到右为例; */flex-direction: row;/* 4.2.主轴项目布局以不折行为例 */flex-wrap: nowrap;/* 4.3.设置各项目默认跟交叉轴的起始线对齐, 本例的条件设置,就是上对齐 */align-items: flex-start;}/* 5.设置交叉轴方向的某个项目单独的对齐形式 *//* 5.1.第一个项目拉伸显示(要记得把.item的height属性去掉, 或设置为iherit) */.item:first-child {align-self: stretch;}/* 5.2.第二个项目在交叉轴方向居中/靠交叉轴结束线显示 */.item:nth-child(2) {/* 居中 */align-self: center;/* 靠结束线 *//* align-self: flex-end; */}/* 5.3.第三个项目设置为自动 */.item:nth-child(3) {align-self: auto;}</style></head><body><h2>设置flex交叉轴方向的某个项目单独的对齐方式</h2><div style="margin-bottom: 20px; font-size: small;">注意1:只有flex容器交叉轴方向上还有剩余空间的时候才有效<br />注意2:只针对flex容器为单行容器有意义.即, flex-wrap: nowrap; 多行容器,虽然有些单独样式也有效果,但是好像意义不大。</div><!-- 1.先写好元素 --><!-- 1.1.flex容器 --><div class="container"><!-- 1.2.flex容器中的元素, 又叫"项目", 都会被当做行内块元素来处理 --><div class="item">1</div><div class="item">2</div><div class="item">3</div><div class="item">4</div></div></body></html>
当所有项目在主轴上的长度之和小于容器在主轴上的长度时,可以通过放大因子(flex-grow属性)来计算每个项目拉伸的长度.
<!DOCTYPE html><html lang="en"><head><meta charset="UTF-8" /><meta name="viewport" content="width=device-width, initial-scale=1.0" /><title>设置flex主轴方向的项目放大因子</title><style>/* 2.设置容器样式 */.container {width: 300px;height: 150px;}/* 3.设置项目样式 */.item {width: 50px;height: 50px;background-color: bisque;font-size: 1.5rem;/* 3.1.设置项目默认不放大(initial或0) */flex-grow: 0;}/* 4.将容器/父元素设置为flex容器 */.container {display: flex;/* 4.1.主轴以水平方向, 从左到右为例; */flex-direction: row;/* 4.2.主轴项目布局以不折行为例 */flex-wrap: nowrap;/* 4.3.设置项目默认跟主轴的起始线对齐, 本例的条件设置,就是左对齐 */justify-content: flex-start;}/* 5.设置主轴方向的各个项目的放大因子 *//* 5.1.设置第一个项目的放大因子是1 */.item:first-child {flex-grow: 1;}/* 5.2.设置第二个项目的放大因子是2 */.item:nth-child(2) {flex-grow: 2;}/* 5.3.设置最后一个项目的放大因子是3 */.item:last-child {flex-grow: 3;}/*5.4.计算:没放大前,每个项目的宽度是50px,flex容器主轴长度(本例设置,指width)为300px,则,可供放大填充的剩余空间是:300-50*3=150px;每个项目获取的放大空间是:(可供放大填充的剩余空间/所有项目放大因子之和)*当前项目放大因子则,第一个项目获取的放大空间是:(150px/(1+2+3))*1 = 25px;第二个项目获取的放大空间是:(150px/(1+2+3))*2 = 50px;第三个项目获取的放大空间是:(150px/(1+2+3))*3 = 75px;因此,放大后,第一个项目在主轴上的长度(本例设置,指width)为:50+25=75px;第二个项目在主轴上的长度(本例设置,指width)为:50+50=100px;第三个项目在主轴上的长度(本例设置,指width)为:50+75=125px;*/</style></head><body><h2>设置flex主轴方向的项目放大因子</h2><div style="margin-bottom: 20px; font-size: small;">注意:只有flex容器主轴方向上还有剩余空间的时候才有效</div><!-- 1.先写好元素 --><!-- 1.1.flex容器 --><div class="container"><!-- 1.2.flex容器中的元素, 又叫"项目", 都会被当做行内块元素来处理 --><div class="item">1</div><div class="item">2</div><div class="item">3</div></div></body></html>
<!DOCTYPE html><html lang="en"><head><meta charset="UTF-8" /><meta name="viewport" content="width=device-width, initial-scale=1.0" /><title>设置flex主轴方向的项目收缩因子</title><style>/* 2.设置容器样式 */.container {width: 180px;height: 150px;}/* 3.设置项目样式 */.item {width: 100px;height: 50px;background-color: bisque;font-size: 1.5rem;/* 3.1.设置项目默认不收缩 */flex-shrink: 0;}/* 4.将容器/父元素设置为flex容器 */.container {display: flex;/* 4.1.主轴以水平方向, 从左到右为例; */flex-direction: row;/* 4.2.主轴项目布局以不折行为例 */flex-wrap: nowrap;/* 4.3.设置项目默认跟主轴的起始线对齐, 本例的条件设置,就是左对齐 */justify-content: flex-start;}/* 5.设置主轴方向的各个项目的收缩因子 *//* 5.1.设置第一个项目的收缩因子是1 */.item:first-child {flex-shrink: 1;}/* 5.2.设置第二个项目的收缩因子是2 */.item:nth-child(2) {flex-shrink: 2;}/* 5.3.设置最后一个项目的收缩因子是3 */.item:last-child {flex-shrink: 3;}/*5.4.计算:没收缩前,每个项目的宽度是100px,flex容器主轴长度(本例设置,指width)为180px,则,可供收缩的剩余空间是:100*3 - 180 = 120px;每个项目获取的收缩空间是:(可供收缩的剩余空间/所有项目收缩因子之和)*当前项目收缩因子则,第一个项目获取的收缩空间是:(120px/(1+2+3))*1 = 20px;第二个项目获取的收缩空间是:(120px/(1+2+3))*2 = 40px;第三个项目获取的收缩空间是:(120px/(1+2+3))*3 = 60px;因此,收缩后,第一个项目在主轴上的长度(本例设置,指width)为:100-20=80px;第二个项目在主轴上的长度(本例设置,指width)为:100-40=60px;第三个项目在主轴上的长度(本例设置,指width)为:100-60=40px;*/</style></head><body><h2>设置flex主轴方向的项目收缩因子</h2><div style="margin-bottom: 20px; font-size: small;">注意:只有flex容器主轴方向上空间不足的时候才有效</div><!-- 1.先写好元素 --><!-- 1.1.flex容器 --><div class="container"><!-- 1.2.flex容器中的元素, 又叫"项目", 都会被当做行内块元素来处理 --><div class="item">1</div><div class="item">2</div><div class="item">3</div></div></body></html>
假设主轴为垂直方向,影响项目高度的属性优先级是否为:max-height/min-height > flex-basis > height,需要自己另写demo来验证.
<!DOCTYPE html><html lang="en"><head><meta charset="UTF-8" /><meta name="viewport" content="width=device-width, initial-scale=1.0" /><title>设置flex主轴方向所占的长度</title><style>/* 2.设置容器样式 */.container {width: 300px;height: 150px;}/* 3.设置项目样式 */.item {width: 50px;height: 50px;background-color: bisque;font-size: 1.5rem;}/* 4.将容器/父元素设置为flex容器 */.container {display: flex;/* 4.1.主轴以水平方向, 从左到右为例; */flex-direction: row;/* 4.2.主轴项目布局以折行为例 */flex-wrap: wrap;/* 4.3.设置各项目默认跟交叉轴的起始线对齐, 本例的条件设置,就是上对齐 */align-items: flex-start;}/* 5.设置主轴方向所占的长度(可以每个.item单独设置,本例采用统一设置) */.item {/* 5.1.flex-basis值为auto时, 本例而言,在主轴所占长度=.item的width */flex-basis: auto;/* 5.2.值为像素值时,主轴所占长度=70px,将忽略.item的width */flex-basis: 70px;/* 5.3.值为百分比时,主轴所占长度=20%*flex容器主轴方向的长度(本例为width)即:20%*300=60px */flex-basis: 20%;/* 5.4.值为倍数时,(rem)是跟根元素(html)的font-size数值的倍数 */flex-basis: 5rem;/* 5.5.当设置了min-width/max-width时,若flex-basis的计算值不在min-width或max-width范围内,则以min-width/max-width值为主. (若主轴在垂直方向,应该是min-height/max-height?) *//* max-width:100px;*//* 超过max-width了,以100px显示 *//* flex-basis: 150px; *//* 5.6.结论: 在flex容器中,项目的属性优先级(应该是主轴为水平方向时吧?):max-width/min-width > flex-basis > width*/}</style></head><body><h2>设置flex主轴方向所占的长度</h2><!-- 1.先写好元素 --><!-- 1.1.flex容器 --><div class="container"><!-- 1.2.flex容器中的元素, 又叫"项目", 都会被当做行内块元素来处理 --><div class="item">1</div><div class="item">2</div><div class="item">3</div><div class="item">4</div></div></body></html>
<!DOCTYPE html><html lang="en"><head><meta charset="UTF-8" /><meta name="viewport" content="width=device-width, initial-scale=1.0" /><title>使用项目的flex属性同时设置放大因子,缩小因子和主轴长度</title><style>/* 2.设置容器样式 */.container {width: 300px;height: 150px;}/* 3.设置项目样式 */.item {width: 50px;height: 50px;background-color: bisque;font-size: 1.5rem;}/* 4.将容器/父元素设置为flex容器 */.container {display: flex;/* 4.1.主轴以水平方向, 从左到右为例; */flex-direction: row;/* 4.2.主轴项目布局以折行为例 */flex-wrap: wrap;/* 4.3.设置各项目默认跟交叉轴的起始线对齐, 本例的条件设置,就是上对齐 */align-items: flex-start;}/* 5.使用项目的flex属性同时设置放大因子,缩小因子和主轴长度 */.item {/* ### 1.3 单值语法| 序号 | 属性值 | 描述 || ---- | -------- | ----------------------- || 1 | 整数 | `flex-grow` || 2 | 有效宽度 | `flex-basis` || 3 | 关键字 | `initial | auto | none` |举例:| 序号 | 案例 | 描述 || ---- | ------------- | ----------------- || 1 | `flex: 1` | `flex: 1 1 auto` || 2 | `flex: 180px` | `flex: 1 1 180px` || 3 | `initial` | `flex: 0 1 auto` || 4 | `auto` | `flex: 1 1 auto` || 5 | `none` | `flex: 0 0 auto` | *//* 三值 *//* flex 放大因子 缩小因子 主轴上的长度 *//* 放大因子:1;缩放因子:1;主轴上的长度:100px(有放大因子和缩放因子,似乎主轴上的长度没有用了) */flex: 1 1 100px;/* 大:不放大;小:不缩放;主轴上的长度=width(主轴为水平时) */flex: 0 0 auto;/* 两值 *//* flex 放大因子 主轴上的长度 */flex: 0 120px;/* 单值 *//* 等效于flex: 0 0 0px?四个项目宽度只有标号宽度了 */flex: 0;/* 等效于flex: 1 1 auto */flex: 1;}</style></head><body><h2>使用项目的flex属性同时设置放大因子,缩小因子和主轴长度</h2><!-- 1.先写好元素 --><!-- 1.1.flex容器 --><div class="container"><!-- 1.2.flex容器中的元素, 又叫"项目", 都会被当做行内块元素来处理 --><div class="item">1</div><div class="item">2</div><div class="item">3</div><div class="item">4</div></div></body></html>
Copyright 2014-2025 https://www.php.cn/ All Rights Reserved | php.cn | 湘ICP备2023035733号