参考答案:
Flexbox(弹性盒布局模型)是一种 CSS 布局模式,旨在简化和优化在容器内分配空间和对齐项目的过程。它使得在布局中处理复杂的对齐、空间分配和顺序问题变得更加简单和高效。
容器和项目:
display: flex
或 display: inline-flex
将一个元素指定为 flex 容器。主轴和交叉轴:
flex-direction
属性设置。align-items
和 align-self
属性设置。主要属性:
display: flex
:将元素设为 flex 容器。flex-direction
:定义主轴方向(row
、column
、row-reverse
、column-reverse
)。flex-wrap
:定义项目是否换行(nowrap
、wrap
、wrap-reverse
)。flex-flow
:是 flex-direction
和 flex-wrap
的缩写形式。justify-content
:在主轴上对齐项目(flex-start
、flex-end
、center
、space-between
、space-around
)。align-items
:在交叉轴上对齐项目(flex-start
、flex-end
、center
、baseline
、stretch
)。align-self
:控制单个项目在交叉轴上的对齐方式,覆盖 align-items
设置。align-content
:在多行的交叉轴上对齐所有行(flex-start
、flex-end
、center
、space-between
、space-around
、stretch
)。项目属性:
flex-grow
:定义项目的放大比例。flex-shrink
:定义项目的缩小比例。flex-basis
:定义项目在主轴上的初始大小。flex
:flex-grow
、flex-shrink
和 flex-basis
的简写属性。align-self
:覆盖 align-items
对单个项目的对齐方式。水平或垂直对齐:
响应式布局:
flex-wrap
和 flex-grow
等属性,能够实现响应式布局,让项目在容器大小变化时自动调整。动态空间分配:
复杂的排列:
水平居中对齐:
1<div class="container"> 2 <div class="item">Item 1</div> 3 <div class="item">Item 2</div> 4 <div class="item">Item 3</div> 5</div> 6 7<style> 8 .container { 9 display: flex; 10 justify-content: center; /* 水平居中对齐 */ 11 } 12 .item { 13 margin: 10px; 14 } 15</style>
垂直居中对齐:
1<div class="container"> 2 <div class="item">Item 1</div> 3 <div class="item">Item 2</div> 4</div> 5 6<style> 7 .container { 8 display: flex; 9 align-items: center; /* 垂直居中对齐 */ 10 height: 100vh; /* 高度设置为视口高度 */ 11 } 12 .item { 13 margin: 10px; 14 } 15</style>
Flexbox 是一种非常强大且灵活的布局工具,能够解决许多传统布局模型无法轻松处理的问题。它在现代 Web 开发中被广泛应用。
最近更新时间:2024-08-10