批改状态:合格
老师批语:
将flex容器与项目的常用属性全部进行实例演示,并理解属性的常用值的显示效果
| flex容器 | 描述 | 属性 |
|---|---|---|
| flex-flow | 主轴方向与换行 | row/column nowrap/wrap |
| justify-content | 项目在主轴对齐方式 | center/flex-start/flex-end/space-around/space-between/space-evenly |
| align-items | 项目在交叉轴对齐方式 | center/flex-end/flex-start/stretch/baseline |
| align-content | 多行容器对齐方式 | center/flex-start/flex-end/space-around/space-between/space-evenly/stretch |
| flex项目 | 描述 | 属性 |
|---|---|---|
| flex | 项目伸/缩/宽度 | 0 1 auto/1 |
| align-self | 某个项目自身交叉轴上对齐方式 | center/flex-start/flex-end/stretch/baseline/space-around/space-between/space-evenly |
| order | 某个项目主轴上排序顺序 | 0 默认 |
body 标签中添加 container 盒子和项目
<div class="container"><div class="item">1</div><div class="item">2</div><div class="item">3</div><div class="item">4</div></div>
style 标签中添加 css 基础样式,转换 container 为 flex 容器
* {margin: 0;padding: 0;box-sizing: border-box;}.container {/* 转为 flex 容器 */display: flex;height: 20em;margin: 1em;padding: 1em;border: 1px solid #000;}.container>.item {width: 5em;height: 3em;background-color: lightgray;border: .1rem solid #000;}
主轴方向与换行/主轴方向与换行/项目在交叉轴对齐方式
style 标签中继续添加样式,单行容器示例演示
/* flex单行容器实列演示 *//* 主轴方向与换行 */.container {/* 默认值:行方向不换行 */flex-flow: row nowrap;/* 行方向换行 */flex-flow: row wrap;/* 列方向不换行 */flex-flow: column nowrap;/* 列方向换行 */flex-flow: column wrap;}/* 项目在主轴对齐方式 */.container {/* 设为默认行方向不换行 */flex-flow: row nowrap;/* 主轴居中 */justify-content: center;/* 左对齐 */justify-content: flex-start;/* 右对齐 */justify-content: flex-end;/* 分散对齐 */justify-content: space-around;/* 两端对齐 */justify-content: space-between;/* 平均对齐 */justify-content: space-evenly;}/* 项目在交叉轴对齐方式 */.container {/* 拉伸对齐,默认对齐 */align-items: stretch;/* 内容基线对齐 */align-items: baseline;/* 交叉轴居中 */align-items: center;/* 顶部对齐 */align-items: flex-start;/* 底部对齐 */align-items: flex-end;}

style 继续添加样式
/* flex多行容器实列演示 */.container {/* 设为行方向换行 */flex-flow: row wrap;/* 主轴对齐左对齐 */justify-content: flex-start;/* 交叉轴对齐改为默认拉伸对齐 */align-items: stretch;}.container>.item {/* 增大项目宽度,使其换行 */width: 8em;}.container {/* 拉伸对齐 */align-content: stretch;/* 主轴居中 */align-content: center;/* 左对齐 */align-content: flex-start;/* 右对齐 */align-content: flex-end;/* 分散对齐 */align-content: space-around;/* 两端对齐 */align-content: space-between;/* 拉伸对齐 */align-content: space-evenly;}

style 继续添加样式
/* flex项目常用属性示例演示 */.container {/* 设为默认行方向不换行 */flex-flow: row nowrap;/* 主轴对齐左对齐 */justify-content: flex-start;/* 交叉轴对齐改为默认拉伸对齐 */align-items: stretch;}.container>.item {/* 项目宽度恢复 5em,主轴单行显示 */width: 5em;}/* 添加区分背景色 */.container .item:nth-of-type(2) {background-color: lightgreen;}.container .item:nth-of-type(3) {background-color: lightsalmon;}.container .item:nth-of-type(4) {background-color: lightseagreen;}/* 项目伸/缩/宽度 */.container .item:first-of-type {flex: 1;}/* 项目3和4伸缩宽度是项目1的两倍 */.container .item:nth-of-type(2)~* {flex: 2}/* 某个项目自身交叉轴上对齐方式 *//* 项目1在交叉轴居中 */.container .item:first-of-type {align-self: center;}/* 项目2在交叉轴顶部对齐 */.container .item:nth-of-type(2) {align-self: flex-start;}/* 项目3在交叉轴底部对齐 */.container .item:nth-of-type(3) {align-self: flex-end;}/* 项目4在交叉轴内容基线对齐 */.container .item:last-of-type {align-self: baseline;}/* 某个项目主轴上排序顺序 *//* 项目3排序1 */.container .item:nth-of-type(3) {order: 1;}/* 项目2排序-1 */.container .item:nth-of-type(2) {order: -1;}
因为默认排序为0,项目3排序1,项目2排序-1,排序越小越在前,现在排序依次为:项目2(-1),项目1(0),项目4(0),项目3(1)
示例图

Copyright 2014-2025 https://www.php.cn/ All Rights Reserved | php.cn | 湘ICP备2023035733号