Flexbox 布局是 CSS3 中引入的一种强大的布局工具,它允许开发者以更加灵活和高效的方式创建复杂的网页布局,与传统的布局方式相比,Flexbox 提供了更多的灵活性和控制力,使得响应式设计变得更加简单和直观。
在 Flexbox 布局中,一个容器(称为 flex container)可以包含一个或多个项目(称为 flex items),这些项目可以在容器内自由地排列和分布,而不受传统布局的限制,通过使用不同的属性和值,开发者可以轻松地实现各种布局效果,如水平居中、垂直居中、等间距分布等。
以下是一些常用的 Flexbox 属性及其含义:
display: flex;
:将元素设置为 flex container,使其子元素成为 flex items。
flex-direction
:设置 flex items 的排列方向,可以是行(row)、列(column)或反向行/列。
justify-content
:定义 flex items 在主轴(水平轴)上的对齐方式,如 flex-start、center、flex-end、space-between、space-around 等。
align-items
:定义 flex items 在交叉轴(垂直轴)上的对齐方式,如 stretch、flex-start、center、flex-end、baseline 等。
flex-wrap
:设置 flex items 是否允许换行,可以是 nowrap(不允许换行)或 wrap(允许换行)。
align-content
:当 flex container 有多行时,定义各行在交叉轴上的对齐方式。
flex-grow
:定义 flex items 相对于其他 flex items 的增长比例。
flex-shrink
:定义 flex items 相对于其他 flex items 的缩小比例。
flex-basis
:定义 flex items 的初始大小。
flex
:简写属性,同时设置 flex-grow、flex-shrin