显示属性
display CSS 属性是控制 HTML 文档的布局和流程的基础。大多数元素都具有 block 或 inline 的默认 display 值(尽管某些元素具有其他默认值)。
排队
inline 元素只占用所需的宽度。它与其他相同类型的元素水平堆叠,并且可能不包含其他非内联元素。
<span>This is some <b>bolded</b> text!</span>

如上所示,两个 inline 元素 <span> 和 <b> 是内联的(因此得名)并且不会破坏文本的流动。
块
block 元素占据其父元素的最大可用宽度。它以新行开头,与 inline 元素相反,它不限制它可能包含的元素类型。
<div>Hello world!</div><div>This is an example!</div>

div 元素默认为块级,如上所示,两个 block 元素垂直堆叠,与 inline 元素不同,文本流动中断。
内联块
inline-block 值为我们提供了两全其美:它将元素与文本流混合在一起,同时允许我们使用 padding,margin,height 和类似的属性,这些属性对 inline 元素没有明显影响。
具有此显示值的元素就像它们是常规文本一样,因此受控制文本流的规则(如 text-align)的影响。默认情况下,它们也缩小到可以容纳其内容的最小尺寸。
<!--Inline: unordered list-->
<style>
li {
display : inline;
background : lightblue;
padding:10px;
border-width:2px;
border-color:black;
border-style:solid;
}
</style>
<ul>
<li>First Element </li>
<li>Second Element </li>
<li>Third Element </li>
</ul>

<!--block: unordered list-->
<style>
li {
display : block;
background : lightblue;
padding:10px;
border-width:2px;
border-color:black;
border-style:solid;
}
</style>
<ul>
<li>First Element </li>
<li>Second Element </li>
<li>Third Element </li>
</ul>

<!--Inline-block: unordered list-->
<style>
li {
display : inline-block;
background : lightblue;
padding:10px;
border-width:2px;
border-color:black;
border-style:solid;
}
</style>
<ul>
<li>First Element </li>
<li>Second Element </li>
<li>Third Element </li>
</ul>

没有
根本不显示为其 display 属性赋予 none 值的元素。
例如,让我们创建一个 id 为 myDiv 的 div 元素:
<div id="myDiv"></div>
现在可以将此标记为以下 CSS 规则不显示:
#myDiv {
display: none;
}
当元素设置为 display:none; 时,浏览器会忽略该特定元素的所有其他布局属性(position 和 float)。不会为该元素呈现任何框,并且它在 html 中的存在不会影响后续元素的位置。
请注意,这与将 visibility 属性设置为 hidden 不同。为元素设置 visibility: hidden; 不会在页面上显示元素,但元素仍会占用渲染过程中的空间,就像它可见一样。因此,这将影响页面上显示以下元素的方式。
display 属性的 none 值通常与 JavaScript 一起使用,以随意显示或隐藏元素,从而无需实际删除和重新创建它们。