Blogger Information
Blog 17
fans 0
comment 0
visits 14773
Popular Tutorials
More>
Latest Downloads
More>
Web Effects
Website Source Code
Website Materials
Front End Template
CSS中flex布局的属性及应用
未来星
Original
828 people have browsed it

flex弹性布局是css3中的一个有效的布局方式。引入弹性盒布局模型(flex box)的目的是提供一种更加有效的方式来对一个容器中的条目进行排列、对齐和分配空白空间。即便容器中条目的尺寸未知或是动态变化的,弹性盒布局模型也能正常的工作。或者说当页面布局必须适应不同的屏幕尺寸和不同的显示设备时,元素可预测地运行。

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="zh-CN">
  3. <head>
  4. <meta charset="UTF-8" />
  5. <meta http-equiv="X-UA-Compatible" content="IE=edge" />
  6. <meta name="viewport" content="width=device-width, initial-scale=1.0" />
  7. <title>flex的属性</title>
  8. <style>
  9. * {
  10. box-sizing: border-box;
  11. }
  12. :root {
  13. font-size: 10px;
  14. }
  15. body {
  16. font-size: 1.6rem;
  17. }
  18. .container {
  19. /* 转为flex布局 */
  20. display: flex;
  21. height: 40rem;
  22. border: 1px solid #000;
  23. }
  24. /* 项目样式 */
  25. .container > .item {
  26. width: 10rem;
  27. /* height: 15rem; */
  28. background-color: lightgreen;
  29. border: 1px solid #000;
  30. }
  31. .container {
  32. flex-flow: row nowrap;
  33. /* 项目在主轴上的对齐方式: justify-content */
  34. /* 1. 将所有项目看成一个整体来处理 */
  35. justify-content: flex-start;
  36. justify-content: flex-end;
  37. justify-content: center;
  38. /* 2. 将所有项目看成一个个独立的个体来处理 */
  39. justify-content: space-between; /* 二端对齐 */
  40. justify-content: space-around; /* 分散对齐 */
  41. justify-content: space-evenly; /* 平均对齐 */
  42. }
  43. /* 项目在交叉轴上的对齐方式: align-items */
  44. .container {
  45. align-items: stretch; //拉伸
  46. align-items: flex-start;
  47. align-items: flex-end;
  48. align-items: center;
  49. }
  50. /*
  51. justify-content: 项目在主轴上的对齐方式
  52. align-items: 项目在交叉轴上的对齐方式
  53. */
  54. .container {
  55. flex-flow: row wrap;
  56. /* 多行容器中对齐时,主轴是没有剩余空间的 */
  57. /* 换行后,如果需要设置对方方式,就要求交叉轴上必须要有剩余空间 */
  58. align-content: stretch;
  59. /* 将交叉轴上所有项目看成一个整体 */
  60. align-content: flex-start;
  61. align-content: flex-end;
  62. align-content: center;
  63. /* 看成个体 */
  64. /* 二端对齐 */
  65. align-content: space-between;
  66. /* 分散对齐 */
  67. align-content: space-around;
  68. /* 平均对齐 */
  69. align-content: space-evenly;
  70. }
  71. </style>
  72. </head>
  73. <body>
  74. <div class="container">
  75. <div class="item">item1</div>
  76. <div class="item">item2</div>
  77. <div class="item">item3</div>
  78. <div class="item">item4</div>
  79. <div class="item">item5</div>
  80. <div class="item">item6</div>
  81. <div class="item">item7</div>
  82. <div class="item">item8</div>
  83. </div>
  84. </body>
  85. </html>
Correcting teacher:天蓬老师天蓬老师

Correction status:qualified

Teacher's comments:
Statement of this Website
The copyright of this blog article belongs to the blogger. Please specify the address when reprinting! If there is any infringement or violation of the law, please contact admin@php.cn Report processing!
All comments Speak rationally on civilized internet, please comply with News Comment Service Agreement
0 comments
Author's latest blog post