博客列表 >弹性盒子flex容器的四个属性,要这样理解才对!

弹性盒子flex容器的四个属性,要这样理解才对!

张福根一修品牌运营
张福根一修品牌运营原创
2020年10月28日 13:14:16882浏览

实例演示:flex容器常用的四个属性

效果展示:

  • flex-flow: 主轴方向 换行方式
    flex-flow: 主轴方向 换行方式

  • justify-content:项目在主轴上的
    justify-content:项目在主轴上的

  • align-items:项目在交叉轴上的对齐方式
    align-items:项目在交叉轴上的对齐方式

  • align-content:项目在多行容器中的对齐方式
    align-content:项目在多行容器中的对齐方式

源码分享:

  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. <title>实例演示:flex容器常用的四个属性</title>
  7. <style>
  8. * {
  9. box-sizing: border-box;
  10. }
  11. .container {
  12. height: 15em;
  13. border: 1px solid coral;
  14. padding: 1em;
  15. margin: 1em;
  16. /* 让这个.container容器的元素,采用flex弹性布局 */
  17. display: flex;
  18. }
  19. .container > .item {
  20. /* 项目属性 */
  21. width: 8em;
  22. background-color: lightyellow;
  23. border: 1px solid chocolate;
  24. }
  25. /* ==================flex-flow: 主轴方向 换行方式 ============= */
  26. .container {
  27. /* flex-flow: 主轴方向 换行方式 */
  28. /* 1、默认值 */
  29. flex-flow: row nowrap;
  30. /* 2、多行容器 */
  31. flex-flow: row wrap;
  32. }
  33. /* 3、改变主轴方向 */
  34. /* .container {
  35. flex-flow: column nowrap;
  36. flex-flow: column wrap;
  37. flex-flow: column wrap-reverse;
  38. height: 8em;
  39. } */
  40. /* =================justify-content:项目在主轴上的============= */
  41. .container {
  42. /* 1. 将所有项目视为一个整体 */
  43. /* 紧贴起始线 */
  44. justify-content: flex-start;
  45. /* 紧贴终止线 */
  46. justify-content: flex-end;
  47. justify-content: flex-end;
  48. /* 紧贴中间线 */
  49. justify-content: center;
  50. /* 2. 将每一个项目视为一个独立的个体 */
  51. /* 两端对齐: 剩余空间在"除了首尾项目之外"的每个项目之间进行平均分配 */
  52. justify-content: space-between;
  53. /* 分散对齐: 剩余空间在每个项目"二侧"进行平均分配 */
  54. justify-content: space-around;
  55. /* 平均对齐: 剩余空间在每个项目"之间"进行平均分配 */
  56. justify-content: space-evenly;
  57. }
  58. /* =================align-items:项目在交叉轴上的对齐方式============ */
  59. .container {
  60. flex-flow: row nowrap;
  61. /* 默认会充满单行容器的高度 */
  62. align-items: stretch;
  63. align-items: flex-start;
  64. align-items: flex-end;
  65. align-items: center;
  66. /* 单行容器中,剩余空间只会产生在主轴上, 交叉轴不存在剩余空间 */
  67. }
  68. /* ===============align-content:项目在多行容器中的对齐方式============ */
  69. .container {
  70. /* 生成多行容器 */
  71. flex-flow: row wrap;
  72. /* align-content: 控制项目在交叉轴上每一行的间隙; */
  73. align-content: stretch;
  74. align-content: flex-end;
  75. align-content: flex-start;
  76. align-content: center;
  77. align-content: space-around;
  78. align-content: space-between;
  79. align-content: space-evenly;
  80. }
  81. </style>
  82. </head>
  83. <body>
  84. <!-- 属性1、flex-flow ,主轴方向与换行方式 -->
  85. <div class="container">
  86. <div class="item">item1</div>
  87. <div class="item">item2</div>
  88. <div class="item">item3</div>
  89. <div class="item">item4</div>
  90. <div class="item">item5</div>
  91. <div class="item">item6</div>
  92. <div class="item">item7</div>
  93. <div class="item">item8</div>
  94. </div>
  95. </body>
  96. </html>

案例总结:

可以用在flex容器中的属性

  • flex-flow: 设置主轴的方向和项目在主轴的换行方式
  • justify-content: 项目在主轴的对齐方式
  • align-items: 项目在交叉轴上的对齐方式
  • align-content: 设置项目在多行容器中的对齐方式
声明:本文内容转载自脚本之家,由网友自发贡献,版权归原作者所有,如您发现涉嫌抄袭侵权,请联系admin@php.cn 核实处理。
全部评论
文明上网理性发言,请遵守新闻评论服务协议