博客列表 >1222作业-将flex容器常用属性,并理解属性的常用值的显示

1222作业-将flex容器常用属性,并理解属性的常用值的显示

世纪天城
世纪天城原创
2020年12月23日 19:33:27514浏览

flex

1. 术语

  1. 容器: 具有display:flex属性元素
  2. 项目: flex 容器的”子元素”
  3. 主轴: 项目排列的轴线
  4. 交叉轴: 与主轴垂直的轴线

2. 容器属性

序号 属性 描述
1 flex-flow 主轴方向与换行方式
2 justify-content 项目在主轴上的对齐方式
3 align-items 项目在交叉轴上的对齐方式
4 align-content 项目在多行容器中的对齐方式

3. 项目属性

序号 属性 描述
1 flex 项目的缩放比例与基准宽度
3 align-self 单个项目在交叉轴上的对齐方式
4 order 项目在主轴上排列顺序

容器属性 代码

  1. <!DOCTYPE html>
  2. <html lang="en">
  3. <head>
  4. <meta charset="UTF-8">
  5. <meta name="viewport" content="width=device-width, initial-scale=1.0">
  6. <meta http-equiv="X-UA-Compatible" content="ie=edge">
  7. <title>flex容器 容器属性</title>
  8. <style>
  9. main{
  10. /* width: 30em; */
  11. height: 20em;
  12. background-color: lightskyblue;
  13. display: flex;
  14. /* flex-flow 主轴方向与换行方式 */
  15. /* flex-flow: row nowrap;默认为水平排列 不换行 ,wrap为换行显示*/
  16. flex-flow: row nowrap;
  17. /* flex-flow: column;垂直方向排列 */
  18. flex-flow: column;
  19. }
  20. /* justify-content 项目在主轴上的对齐方式 */
  21. main{
  22. /* 水平方向 */
  23. /* justify-content: flex-start;左对齐默认值 */
  24. justify-content: flex-start;
  25. /* justify-content: flex-end;右对齐 */
  26. justify-content: flex-end;
  27. /* justify-content: center;居中对齐 */
  28. justify-content: center;
  29. /* 将项目视为一个个独立的个体,在项目之间进行分配 */
  30. /* justify-content: space-between; 二端对齐 */
  31. justify-content: space-between;
  32. /*justify-content: space-around; 分散对齐 */
  33. justify-content: space-around;
  34. /*justify-content: space-evenly; 平均对齐 */
  35. justify-content: space-evenly;
  36. }
  37. main{
  38. /* 垂直方向 */
  39. /* align-items: stretch;默认值元素被拉伸以适应容器 */
  40. /* align-items: stretch; */
  41. /* align-items: flex-start;元素位于容器的开头弹性盒子元素的侧轴(纵轴)起始位置的边界紧靠住该行的侧轴起始边界。 */
  42. align-items: flex-start;
  43. /* align-items: flex-end; 元素位于容器的结尾,弹性盒子元素的侧轴(纵轴)起始位置的边界紧靠住该行的侧轴结束边界。 */
  44. align-items: flex-end;
  45. /* align-items: center;元素位于容器的中心,弹性盒子元素在该行的侧轴(纵轴)上居中放置,(如果该行的尺寸小于弹性盒子元素的尺寸,则会向两个方向溢出相同的长度)。 */
  46. align-items: center;
  47. }
  48. .div{
  49. width: 5em;
  50. /* height: 3em; */
  51. background-color: lightsalmon;
  52. line-height: 3em;
  53. text-align:center;
  54. }
  55. </style>
  56. </head>
  57. <body>
  58. <main>
  59. <div class="div">div1</div>
  60. <div class="div">div2</div>
  61. <div class="div">div3</div>
  62. <div class="div">div4</div>
  63. <div class="div">div5</div>
  64. </main>
  65. </body>
  66. </html>

flex项目属性

  1. <!DOCTYPE html>
  2. <html lang="en">
  3. <head>
  4. <meta charset="UTF-8">
  5. <meta name="viewport" content="width=device-width, initial-scale=1.0">
  6. <meta http-equiv="X-UA-Compatible" content="ie=edge">
  7. <title> flex项目属性</title>
  8. <style>
  9. main{
  10. /* width: 30em; */
  11. height: 20em;
  12. background-color: lightskyblue;
  13. display: flex;
  14. /* 分散对齐 */
  15. justify-content: space-between;
  16. }
  17. .div{
  18. width: 5em;
  19. height: 3em;
  20. background-color: lightsalmon;
  21. line-height: 3em;
  22. text-align:center;
  23. }
  24. /* flex: flex-grow flex-shrink flex-basis */
  25. /* flex: 放大因子 收缩因子 项目在主轴上的基准宽度 */
  26. /* 默认会上,不放大或收缩 */
  27. .div{
  28. /* 默认值 */
  29. flex: 0 1 auto;
  30. /* 也可写成 */
  31. flex: initial;
  32. /* 允许放大和收缩 */
  33. flex: 1 1 auto;
  34. /* 缩写 */
  35. flex: auto;
  36. /* 禁止放大和收缩 */
  37. flex: 0 0 auto;
  38. /* 缩写 */
  39. flex: none;
  40. /* 如果只有一个数字,省掉后面二个参数,表示的放大因子 */
  41. flex: 1;
  42. /* 等于 flex: 1 1 auto; 值越大放大的倍数远大*/
  43. /* flex通常不会用来设置所有项目的默认选项,通常用来设置某一个项目的特征 */
  44. }
  45. </style>
  46. </head>
  47. <body>
  48. <main>
  49. <div class="div">div1</div>
  50. <div class="div">div2</div>
  51. <div class="div">div3</div>
  52. <div class="div">div4</div>
  53. <div class="div">div5</div>
  54. </main>
  55. </body>
  56. </html>

弹性布局小案例

  1. <!DOCTYPE html>
  2. <html lang="en">
  3. <head>
  4. <meta charset="UTF-8">
  5. <meta name="viewport" content="width=device-width, initial-scale=1.0">
  6. <meta http-equiv="X-UA-Compatible" content="ie=edge">
  7. <title>flex弹性布局</title>
  8. <style>
  9. *{
  10. margin: 0;
  11. padding: 0;
  12. box-sizing: border-box;
  13. }
  14. header,footer{
  15. height: 8vh;
  16. background-color: darksalmon;
  17. }
  18. .container{
  19. height: 82vh;
  20. display: flex;
  21. margin: 1em 0;
  22. }
  23. .container>aside{
  24. width: 20em;
  25. min-height: inherit;
  26. background-color: khaki;
  27. }
  28. .container main{
  29. flex: 1;
  30. background-color: lawngreen;
  31. margin: 0 1em;
  32. }
  33. </style>
  34. </head>
  35. <body>
  36. <header>页眉</header>
  37. <div class="container">
  38. <aside>左边栏</aside>
  39. <main>主体</main>
  40. <aside>右边栏</aside>
  41. </div>
  42. <footer>页脚</footer>
  43. </body>
  44. </html>

声明:本文内容转载自脚本之家,由网友自发贡献,版权归原作者所有,如您发现涉嫌抄袭侵权,请联系admin@php.cn 核实处理。
全部评论
文明上网理性发言,请遵守新闻评论服务协议