Skip to content

CSS 显示

display 属性是 CSS 中最重要、最基本的属性之一。它定义了一个元素应如何被显示,以及它在布局中的行为方式。每个 HTML 元素都有一个默认的 display 值。

display: block; (块级)

块级元素会占据其父元素的整个可用宽度,并且总是在一个新行上开始。

  • 特征: 独占一行,像一个矩形块。
  • 尺寸: 可以设置 width, height, margin, padding
  • 默认块级元素: <div>, <h1>-<h6>, <p>, <form>, <ul>, <li> 等。
css
div {
  display: block;
  width: 100%;
  height: 100px;
  background-color: lightblue;
}

display: inline; (内联)

内联元素不会开始新行,它会和其他内联元素一起排列在同一行上,直到行尾。

  • 特征: 像文本一样,一个接一个地排列。
  • 尺寸: 元素的宽度和高度由其内容决定。直接设置 widthheight 无效。垂直方向的 marginpadding 也不会影响周围元素。
  • 默认内联元素: <span>, <a>, <img>, <strong>, <em>, <b>, <i> 等。
css
span {
  display: inline;
  padding: 5px;
  background-color: yellow;
}

display: inline-block; (内联块级)

inline-blockblockinline 的混合体,它结合了两者的优点。

  • 特征: 元素像内联元素一样与其他元素并排,但它本身表现得像一个块级元素。
  • 尺寸: 可以设置 width, height, margin, padding
  • 应用: 非常适合用于创建并排的、有固定尺寸的元素,如导航栏按钮、标签云等。
css
a.button {
  display: inline-block;
  width: 120px;
  height: 40px;
  background-color: lightgreen;
  text-align: center;
  line-height: 40px; /* 垂直居中文本 */
}

display: none;

display: none; 会将元素从页面上完全移除。它不仅是不可见的,而且在布局中也不占据任何空间,就好像它从来不存在一样。

这与 visibility: hidden; 不同。visibility: hidden; 只是将元素隐藏起来,但它在布局中仍然占据着原来的空间。

css
.hidden-element {
  display: none;
}

display: none; 经常被 JavaScript 用来控制元素的显示和隐藏。

display: flex;display: grid;

这是 CSS3 引入的现代布局模式,它们极大地简化了复杂布局的创建。

  • display: flex;: 将元素变为一个“弹性容器”,其直接子元素成为“弹性项目”。它非常适合在一维空间(行或列)中对齐和分布项目。
  • display: grid;: 将元素变为一个“网格容器”。它允许你在二维空间(行和列)中创建复杂的布局。

我们将在后续的专门章节中详细学习 Flexbox 和 Grid。

总结

display换行可设置宽高可设置垂直 margin/padding
block
inline
inline-block
none---

本站内容仅供学习和研究使用。