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

发布时间:2024年01月18日

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

文章来源:https://blog.csdn.net/qq_40071585/article/details/135664655
本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。