ARTICLE DETAIL

建站实战干货

来自一线的建站与推广经验沉淀,每一条都经过真实交付验证。

编程笔记 html5cssjs 044 CSS显示

2026/10/1 4:58:09 拓冰建站 浏览量
编程笔记 html5cssjs 044 CSS显示

编程笔记 html5&css&js 044 CSS显示

  • 一、display 属性
  • 二、块级元素(block element)
  • 三、行内元素(inline element)
  • 四、disply属性设置
    • (一)Display: none;
    • (二)覆盖默认的 Display 值
    • (三)隐藏元素 - display:none 还是 visibility:hidden?
  • 五、disply属性的值
    • 六、练习
  • 小结

CSS 布局 - display 属性。display 属性是用于控制布局的最重要的 CSS 属性。

一、display 属性

display 属性规定是否/如何显示元素。每个 HTML 元素都有一个默认的 display 值,具体取决于它的元素类型。大多数元素的默认 display 值为 block 或 inline。

二、块级元素(block element)

块级元素总是从新行开始,并占据可用的全部宽度(尽可能向左和向右伸展)。
这个 <div> 元素属于块级元素。
块级元素的一些例子:

<div>
<h1> - <h6>
<p>
<form>
<header>
<footer>
<section>

三、行内元素(inline element)

内联元素不从新行开始,仅占用所需的宽度。
这是段落中的行内 <span> 元素。
行内元素的一些例子:

<span>
<a>
<img>

四、disply属性设置

(一)Display: none;

display: none; 通常与 JavaScript 一起使用,以隐藏和显示元素,而无需删除和重新创建它们。如果您想知道如何实现此目标,请查看本页面上的最后一个实例。
默认情况下,<script> 元素使用 display: none;。

(二)覆盖默认的 Display 值

如前所述,每个元素都有一个默认 display 值。但是,您可以覆盖它。
将行内元素更改为块元素,反之亦然,对于使页面以特定方式显示同时仍遵循 Web 标准很有用。
一个常见的例子是为实现水平菜单而生成行内的 <li> 元素:

li {display: inline;
}

设置元素的 display 属性仅会更改元素的显示方式,而不会更改元素的种类。因此,带有 display: block; 的行内元素不允许在其中包含其他块元素。下例将 元素显示为块元素:

span {display: block;
}

下例将 <a> 元素显示为块元素:

a {display: block;
}

(三)隐藏元素 - display:none 还是 visibility:hidden?

通过将 display 属性设置为 none 可以隐藏元素。该元素将被隐藏,并且页面将显示为好像该元素不在其中。
visibility:hidden; 也可以隐藏元素。但是,该元素仍将占用与之前相同的空间。元素将被隐藏,但仍会影响布局:

五、disply属性的值

值	描述
none	此元素不会被显示。
block	此元素将显示为块级元素,此元素前后会带有换行符。
inline	默认。此元素会被显示为内联元素,元素前后没有换行符。
inline-block	行内块元素。(CSS2.1 新增的值)
list-item	此元素会作为列表显示。
run-in	此元素会根据上下文作为块级元素或内联元素显示。
compact	CSS 中有值 compact,不过由于缺乏广泛支持,已经从 CSS2.1 中删除。
marker	CSS 中有值 marker,不过由于缺乏广泛支持,已经从 CSS2.1 中删除。
table	此元素会作为块级表格来显示(类似 <table>),表格前后带有换行符。
inline-table	此元素会作为内联表格来显示(类似 <table>),表格前后没有换行符。
table-row-group	此元素会作为一个或多个行的分组来显示(类似 <tbody>)。
table-header-group	此元素会作为一个或多个行的分组来显示(类似 <thead>)。
table-footer-group	此元素会作为一个或多个行的分组来显示(类似 <tfoot>)。
table-row	此元素会作为一个表格行显示(类似 <tr>)。
table-column-group	此元素会作为一个或多个列的分组来显示(类似 <colgroup>)。
table-column	此元素会作为一个单元格列显示(类似 <col>)
table-cell	此元素会作为一个表格单元格显示(类似 <td> 和 <th>)
table-caption	此元素会作为一个表格标题显示(类似 <caption>)
inherit	规定应该从父元素继承 display 属性的值。

六、练习

<!DOCTYPE html>
<html lang="zh-cn"><title>CSS显示 编程笔记 html5&css&js</title><meta charset="utf-8" /><style>body {display: block;color: cyan;background-color: teal;margin: 0;text-align: center;}.container {margin: 0 auto; /* 将左右边距设置为自动 */text-align: center;}span {display: block;}p {display: inline;}</style><body><br /><div class="container"><span>把 span 元素设置为块级元素。</span><span>这是第二个 span 元素,本来这个元素是不换行的,现改成换行显示。</span></div><hr /><div class="container"><p>把段落元素设置为内联元素。</p><p>这里第二个p元素,但却被显示到一行了。</p></div><br /></body>
</html>

小结

disply属性可以灵活处理块的实际形态,把自动换行的元素可以改为不换行,反之亦然。这对网页的整体而已就很重要,因此设计网页布局时就一定要配合该属性的设置。