CSS 布局

您可以使用多种方法来布局您的网页和应用程序。MDN 包含许多关于不同方法的深入指南,此页面提供了所有方法的概述。

普通流、块级和内联布局

如果您没有使用 Flex 或 Grid 布局,那么您的内容将使用普通流或块级和内联布局进行布局。这些指南将帮助您了解此布局方法的工作原理。

普通流中的块级和内联布局

普通流简介。

流内和流外

如何将项目移出流,以及这对文档布局的影响。

格式化上下文解释

创建新格式化上下文的简介。

流布局和书写模式

如果您使用不同的书写模式(例如垂直文本),流布局是如何工作的。

流布局和溢出

了解和管理溢出。

CSS 基本盒模型简介

了解盒模型是 CSS 的基础;本指南解释了它的工作原理。

掌握外边距折叠

了解为什么有时您最终会得到比预期更小的外边距,这是由于普通流中的外边距折叠导致的。

理解 CSS z-index

绝对定位、Flexbox 和 Grid 都会导致堆叠(元素在 z 轴上的相对位置)可以通过 z-index 属性进行操作。本文解释了如何管理它。

多列布局

多列布局,通常称为 multicol,采用普通流中的内容,并将其分成多列。在以下指南中了解如何使用此布局方法。

Multicol 的基本概念

Multicol 基本功能概述。

样式化列

列的样式化机会有限;本指南解释了您可以执行的操作。

跨列和平衡

跨列扩展元素,并平衡列的内容。

处理 Multicol 中的溢出

当内容超出可用列空间时会发生什么?

Multicol 中的内容断裂

处理内容断裂,因为内容被分成多列。

Flexbox

CSS 弹性盒布局,通常称为 Flexbox,是一种针对用户界面设计和一维项目布局进行优化的布局模型。在 Flex 布局模型中,Flex 容器的子元素可以向任何方向布局,并且可以“伸缩”其大小,要么增长以填充未使用的空间,要么缩小以避免溢出父元素。

Flexbox 的基本概念

Flexbox 功能概述。

Flexbox 与其他布局方法的关系

Flexbox 如何与其他布局方法和其他 CSS 规范相关联。

在 Flex 容器中对齐项目

盒对齐属性如何与 Flexbox 一起工作。

Flex 项目的排序

解释更改项目顺序和方向的不同方法,并涵盖执行此操作时可能出现的问题。

控制 Flex 项目沿主轴的比例

解释 flex-growflex-shrinkflex-basis 属性。

掌握 Flex 项目的换行

如何创建具有多行的 Flex 容器并控制这些行上项目的显示。

Flexbox 的典型用例

Flexbox 典型用例的常见设计模式。

网格布局

CSS 网格布局为 CSS 引入了一个二维网格系统。网格可用于布局主要页面区域或小型用户界面元素。

网格布局的基本概念

网格布局功能概述。

网格布局与其他布局方法的关系

网格如何与其他方法(如对齐、大小调整和 Flexbox)相关联。

使用基于行的放置进行布局

如何通过编号行放置项目。

网格模板区域

如何使用网格模板语法放置项目。

使用命名网格线进行布局

如何命名线条,以及如何通过线条名称而不是编号来放置项目。

CSS 网格布局中的自动放置

如何管理自动放置算法,以及了解浏览器如何放置项目。

CSS 网格布局中的盒对齐

如何在网格中对齐项目,并在两个轴上分配空间。

CSS 网格、逻辑值和书写模式

如何在网格中使用流相关属性和值,而不是物理属性和值。

CSS 网格布局和无障碍访问

使用网格布局时需要考虑的一些无障碍访问事项。

CSS 网格和渐进增强

如何确保您的网站在不支持网格的浏览器中仍然可以正常工作。

使用 CSS 网格实现常见布局

使用网格构建一些常见布局。

子网格

对子网格值的解释,它是网格级别 2 的一部分。

砌体布局

对网格级别 3 中砌体布局功能的解释。

对齐

块级布局中的盒对齐

对齐属性是为块级和内联布局指定的,但目前还没有浏览器支持。

Flexbox 中的盒对齐

对齐属性首先出现在 Flexbox 中;本指南解释了它们的工作原理。

网格布局中的盒对齐

如何在网格布局中对齐项目。

多列布局中的盒对齐

对齐如何在 Multicol 中工作。