一、块级布局(Block Layout)
基础特性 作为最传统的布局方式,块级元素以垂直堆叠形式构建页面骨架。其显著特征包括:
- 独占整行:每个元素默认占据父容器100%宽度(如
<div>
会自动换行) - 尺寸可控:支持直接设置width/height属性(示例:
section { width: 80%; }
) - 间距精准:通过margin/padding实现精确的盒模型控制
典型元素
<header>
<h1>页面标题</h1>
<nav>导航菜单</nav>
</header>
<main>
<article>
<p>正文段落内容...</p>
</article>
</main>
应用场景
- 构建页面基础结构框架
- 创建垂直排列的内容区块
- 实现传统文档流布局
二、行内布局(Inline Layout)
流动特性
行内元素如同文本般自然流动,适用于精细的内容修饰:
- 无缝衔接:多个元素可在同一行显示(如
<span>
与<a>
并排) - 尺寸自适应:宽度由内容决定(图片标签
<img>
默认保持原始尺寸) - 垂直对齐:通过
vertical-align
微调位置
注意事项
- 避免对行内元素设置上下margin
- 内边距可能导致相邻元素位置偏移
三、浮动布局(Float Layout)
革命性突破
浮动布局开启了多栏布局的新纪元:
- 脱离文档流:元素可左右浮动(
float: left
实现图文混排) - 内容环绕:文字自然环绕浮动元素
- 清除浮动:需配合
clear: both
或overflow:hidden
适用场景
- 杂志式图文排版
- 传统两栏/三栏布局
- 浮动导航菜单
四、弹性布局(Flexbox)
Flexbox彻底改变了元素排列方式:
- 智能分配空间:自动调整子元素尺寸(
flex:1
实现等分容器) - 轴向控制:通过
flex-direction
切换行列方向 - 精准对齐:
justify-content
与align-items
双剑合璧
实战演示
.navbar {
display: flex;
justify-content: space-between;
align-items: center;
}
优势领域
- 响应式导航栏
- 卡片等宽排列
- 垂直水平居中
五、网格布局(Grid Layout)
二维布局王者
Grid开启了真正的平面布局时代:
- 行列矩阵:
grid-template-columns
定义复杂列结构 - 自由定位:
grid-area
实现跨行跨列布局 - 间隙控制:
gap
属性统一行列间距
典型架构
.dashboard {
display: grid;
grid-template-columns: 200px 1fr;
grid-gap: 20px;
}
核心应用
- 后台管理系统布局
- 图片瀑布流展示
- 复杂表单结构
布局方案选择指南
布局类型 | 维度 | 核心优势 | 适用场景 |
---|---|---|---|
块级布局 | 一维 | 结构清晰 | 文档流布局 |
行内布局 | 一维 | 内容融合 | 文本修饰 |
浮动布局 | 一维 | 内容环绕 | 传统多栏 |
Flexbox | 一维 | 弹性分配 | 组件排列 |
Grid | 二维 | 精准控制 | 复杂架构 |