批改状态:合格
老师批语:你应该是第一次写作业, 以下几点要注意: 1. 不能直接罗列一些知识点或照抄课件内容 2. 必须要有自己写的演示代码 3. 必须要有运行效果图或者附上你自己的URL 4. 必须要有作业总结 为什么有这些要求?因为博客是公开发布的文章 , 读者并非只有我和你, 任何人都可以看, 要为你的访问考虑, 要符合规范, 才能起到总结知识, 帮到自己和他人的作用...下次注意, 这次通过
解决的问题
flex 项目的布局方向是什么
flex 布局中常用术语有哪些(三个二)
| 序号 | 简记 | 术语 |
|---|---|---|
| 1 | 二成员 | 容器和项目(container / item) |
| 2 | 二根轴 | 主轴与交叉轴(main-axis / cross-axis) |
| 3 | 二根线 | 起始线与结束线(flex-start / flex-end) |

| 序号 | 容器/项目 | 默认行为 |
|---|---|---|
| 1 | 容器主轴 | 水平方向 |
| 2 | 项目排列 | 沿主轴起始线排列(当前起始线居左) |
| 3 | 项目类型 | 自动转换”行内块级”元素,不管之前是什么类型 |
| 4 | 容器主轴空间不足时 | 项目自动收缩尺寸以适应空间变化,不会换行显示 |
| 5 | 容器主轴存在未分配空间时 | 项目保持自身大小不会放大并充满空间 |
display: flex
<style>/* 容器 */.container {width: 300px;height: 150px;/*块级元素*/display: flex;/* 行内元素:可以让多个flex在同一行 *//* display: inline-flex; */}/* 项目/子元素 */.item {/* 此item如超出container宽度,则自动缩小,因flex-sharink默认值为initial */width: 100px;height: 50px;background-color: cyan;font-size: 1.5rem;}</style>
<div class="container"><div class="item">1</div><div class="item">2</div><div class="item">3</div><div class="item">4</div></div>
flex-flow: item 的起始与换行(用在 container 中)flex-flow是属性flex-direction和flex-wrap的简写flex-flow: flex-direction flex-wrapflex-flow: row nowrap;| flex-flow | flex-direction | flex-wrap |
|---|---|---|
| 默认值 | row 主轴水平:起始线居左, 项目从左向右显示 |
nowrap 项目不换行 |
| 其它值 | row-reverse主轴水平:起始线居右, 项目从右向左显示<br>column主轴垂直: 起始线居上,项目从上向下显示<br>column-reverse主轴垂直: 起始线居下,项目从下向上显示 |
wrap项目换行: 多行容器,第一行在上方 <br>wrap-reverse项目换行: 多行容器,第一行在下方 |
flex属性,可以将flex-grow flex-sharink flex-basis三个属性进行简化.flex: flex-grow flex-shrink flex-basisflex: flex-grow flex-basis 例如:flex: 0 180px 禁止放大,按计算大小填充到容器中flex: flex-grow 或 flex-basisflex 0 1 auto; 不放大 允许收缩 原来大小不变| flex | flex-grow | flex-sharink | flex-basis |
|---|---|---|---|
| 默认值 | 0 或 initial(默认不放大) | 1 或 initial(默认允许项目收缩) | auto(默认项目原来的大小) |
| 改变值 | n 放大因子 | n 收缩因子 | px 或 % |
| 其它 | - | 0 禁止收缩 | min/max-width/min/max-height 限制宽高 |
| 序号 | 属性值 | 描述 |
|---|---|---|
| 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-grow 项目放大因子
flex-grow才有意义0默认值不放大,保持初始值 / initial设置默认值,与0等效n放大因子: 正数。(把剩余的空间,按因子总合平均分配份数给每个元素)flex-sharink 项目收缩因子
flex-shrink才有意义。1默认值允许项目收缩。/ initial设置初始默认值,与 1 等效。0禁止收缩,保持原始尺寸。n收缩因子: 正数。flex-basis: auto 重新定义项目宽
min/max-width/min/max-height> flex-basis >项目大小auto默认值,项目原来的大小;px像素;%百分比。min-width max-width min-height max-height限制宽高度。justify-content主轴(默认情况为横轴)项目对齐(用在 container 中)justify-content:flex-start;| 序号 | 属性值 | 描述 |
|---|---|---|
| 1 | flex-start默认 |
所有项目与主轴起始线对齐:左对齐 |
| 2 | flex-end |
所有项目与主轴终止线对齐:右对齐 |
| 3 | center |
所有项目与主轴中间线对齐: 居中对齐 |
| 4 | space-between |
两端对齐: 剩余空间在头尾项目之外的项目间平均分配 |
| 5 | space-around |
分散对齐: 剩余空间在每个项目二侧平均分配 |
| 6 | space-evenly |
平均对齐: 剩余空间在每个项目之间平均分配 |
align-items 交叉轴(默认情况为纵轴)项目对齐(用在 container 中)demo6.htmlalign-items:flex-start;| 序号 | 属性值 | 描述 |
|---|---|---|
| 1 | flex-start默认 |
与交叉轴起始线对齐: 顶端 |
| 2 | flex-end |
与交叉轴终止线对齐:底端 |
| 3 | center |
与交叉轴中间线对齐: 居中对齐 |
align-content 换行时的交叉轴(默认情况为纵向)对齐方式。(用在 container 中)多行容器| 序号 | 属性值 | 描述 |
|---|---|---|
| 1 | stretch默认 |
项目拉伸占据整个交叉轴(子项目需不指定高度) |
| 1 | flex-start |
所有项目与交叉轴起始线(顶部)对齐 |
| 2 | flex-end |
所有项目与交叉轴终止线对齐 |
| 3 | center |
所有项目与交叉轴中间线对齐: 居中对齐 |
| 4 | space-between |
两端对齐: 剩余空间在头尾项目之外的项目间平均分配 |
| 5 | space-around |
分散对齐: 剩余空间在每个项目二侧平均分配 |
| 6 | space-evenly |
平均对齐: 剩余空间在每个项目之间平均分配 |
> 提示: 多行容器中通过设置`flex-wrap: wrap | wrap-reverse`(允许换行) 实现
| 序号 | 属性值 | 描述 |
|---|---|---|
| 1 | auto默认值 |
继承 align-items 属性值 |
| 2 | flex-start |
与交叉轴起始线对齐 |
| 3 | flex-end |
与交叉轴终止线对齐 |
| 4 | center |
与交叉轴中间线对齐: 居中对齐 |
| 5 | stretch |
在交叉轴方向上拉伸(与 align-content 不同,子项目指定高度也会拉伸) |
| 6 | baseline |
与基线对齐(与内容相关用得极少) |
| 序号 | 属性 | 描述 |
|---|---|---|
| 1 | flex-direction |
设置容器中的主轴方向: 行/水平方向, 列/垂直方向 |
| 2 | flex-wrap |
是否允许创建多行容器,即 flex 项目一行排列不下时, 是否允许换行 |
| 3 | flex-flow |
简化 flex-direction, flex-wrap 属性 |
| 4 | justify-content |
设置 flex 项目在主轴上对齐方式 |
| 5 | align-items |
设置 flex 项目在交叉轴上对齐方式 |
| 6 | align-content |
多行容器中,项目在交叉轴上的对齐方式 |
| 序号 | 属性 | 描述 |
|---|---|---|
| 2 | flex-grow |
项目的宽度扩展: 将主轴上的剩余空间按比例分配给指定项目 |
| 3 | flex-shrink |
项目的宽度收缩: 将项目上多出空间按比例在项目间进行缩减 |
| 1 | flex-basis |
项目宽度: 项目分配主轴剩余空间之前, 项目所占据的主轴空间宽度 |
| 4 | flex |
是上面三个属性的简化缩写: flex: flex-grow flex-shrink flex-basis |
| 5 | align-self |
单独自定义某个项目在交叉轴上的对齐方式 |
| 6 | order |
自定义项目在主轴上的排列顺序,默认为 0,书写顺序,值越小位置越靠前 |
flex-flow 默认:flex-flow: row nowrap; 【container】
flex-direction:row;flex-wrap:nowrap;
justify-content 默认:justify-content: flex-start; 所有项目与主轴起始线对齐:左对齐【container】
align-items:flex-start; 与交叉轴起始线对齐: 顶端【container】align-content:stretch; 项目拉伸占据整个交叉轴(子项目需不指定高度)【container】flex 默认: flex: 0 1 auto; 不放大 允许收缩 原来大小不变【item】
flex-grow:0;flex-shrink:1;flex-basis:auto;
align-self 默认: align-self auto; 继承 align-items 属性值【item】
Copyright 2014-2025 https://www.php.cn/ All Rights Reserved | php.cn | 湘ICP备2023035733号