CSS3 Flexbox

1

2

3

4

5

6

7

8


CSS Flexbox 布局模块

在 Flexbox 布局模块(问世)之前,可用的布局模式有以下四种:

  • 块(Block),用于网页中的部分(节)
  • 行内(Inline),用于文本
  • 表,用于二维表数据
  • 定位,用于元素的明确位置

弹性框布局模块,可以更轻松地设计灵活的响应式布局结构,而无需使用浮动或定位。


浏览器支持

所有现代浏览器均支持 flexbox 属性。

29.011.022.01048

Flexbox 元素

如需开始使用 Flexbox 模型,您需要首先定义 Flex 容器。

1

2

3

上面的元素表示一个带有三个 flex 项目的 flex 容器(蓝色区域)。

含有三个 flex 项目的 flex 容器:

  1. <!DOCTYPE html>
  2. <html>
  3. <head>
  4. <style>
  5. .flex-container {
  6. display: flex;
  7. background-color: DodgerBlue;
  8. }
  9. .flex-container > div {
  10. background-color: #f1f1f1;
  11. margin: 10px;
  12. padding: 20px;
  13. font-size: 30px;
  14. }
  15. </style>
  16. </head>
  17. <body>
  18. <div class="flex-container">
  19. <div>1</div>
  20. <div>2</div>
  21. <div>3</div>
  22. </div>
  23. <p>弹性布局中必须有一个 <em>display</em> 属性设置为 <em>flex</em> 的父元素。</p>
  24. <p>弹性容器的直接子元素会自动成为弹性项目。</p>
  25. </body>
  26. </html>

父元素(容器)

下一章,我们开始讲解 CSS Flex Container,父元素的用法。


CSS Flexbox 属性

下表列出了与 flexbox 一起使用的 CSS 属性:

属性描述
display规定用于 HTML 元素的盒类型。
flex-direction规定弹性容器内的弹性项目的方向。
justify-content当弹性项目没有用到主轴上的所有可用空间时,水平对齐这些项目。
align-items当弹性项目没有用到主轴上的所有可用空间时,垂直对齐这些项。
flex-wrap规定弹性项目是否应该换行,若一条 flex 线上没有足够的空间容纳它们。
align-content修改 flex-wrap 属性的行为。与 align-items 相似,但它不对齐弹性项目,而是对齐 flex 线。
flex-flowflex-direction 和 flex-wrap 的简写属性。
order规定弹性项目相对于同一容器内其余弹性项目的顺序。
align-self用于弹性项目。覆盖容器的 align-items 属性。
flexflex-grow、flex-shrink 以及 flex-basis 属性的简写属性。

分类导航