# Display
Display (opens new window) 模块描述了如何从文档元素树生成 CSS 格式化盒树,并定义了控制该过程的 display (opens new window) 属性。
# 一、盒布局模式
display (opens new window) 属性设置元素的显示类型,包括内部显示 (opens new window)类型和外部显示 (opens new window)类型。
外部显示类型决定元素是否被视为块级或行内盒子,以及它在文档流中的表现方式。
内部显示类型则决定子元素的布局方式,例如流式布局、网格布局或弹性布局。
# 外部显示
display-outside (opens new window) 规定元素的外部显示类型,实际上就是其在流式布局中的角色。
block
block(opens new window) 定义元素生成一个块级盒子。在正常的流中,该元素之前和之后产生换行。p { display: block; }
# 其他显示
none
none(opens new window) 定义元素及其子元素不生成 Box 或文本序列。p { display: none; }inline-block
inline-block(opens new window) 定义元素为行内块级元素。它结合了行内元素和块级元素的特性,使得元素既可以在行内显示,又可以设置宽度、高度等属性,从而在行内形成块状布局。
span { display: inline-block; width: max-content; height: auto; border: 1px solid black; margin-bottom: 10px; }
# 二、可见性
visibility (opens new window) 属性显示或隐藏元素而不更改文档的布局。该属性还可以隐藏 table 中的行或列。
span {
visibility: hidden;
}