CSS visibility属性允许您在不更改文档布局的情况下显示或隐藏元素,而隐藏的元素会占用空间。

可见性属性可用于创建各种效果,例如作为隐藏尚未准备好显示的元素,或隐藏仅与某些用户相关的元素。

属性值

  • visible: 元素是可见的。

  • hidden: 元素是隐藏的,但它仍然占用页面上的空间。

  • collapse: 从表中删除表行、列、列组和行组。如果用在非表元素上,collapse 与 hide 的含义相同。

  • initial: 将元素的可见性设置为其默认值。

  • inherit: 从其父元素继承可见性属性。

适用范围

所有 HTML 元素。

DOM 语法

visibility: visible | hidden | collapse | initial | inherit; 

CSS visibility: visible

CSS visibility:visible 属性使元素可见。这是visibility属性的默认值。

<html>
<head>
<style>
   h2 {
      visibility: visible;
   }
</style>
</head>
<body>
   <h2>yxjc123 CSS visibility</h2>
</body>
</html> 

CSS visibility: hidden

visibility:hidden 属性从用户视图中隐藏元素,但不会将其从用户视图中删除。文档布局。

该元素仍然可供屏幕阅读器访问,并将影响页面的布局,即使它不可见。

<html>
<head>
<style>
   h2 {
      visibility: hidden;
   }
</style>
</head>
<body>
   <h2>yxjc123 CSS visibility hidden</h2>
   <p>The hidden heading is still visible to screen readers and takes up space in the page.</p>
</body>
</html> 

CSS visibility: collapse

要删除表格行或列而不影响表格布局,可以将行或列的可见性属性设置为collapse。该值仅对表格元素有效。

<html>
<head>
<style>
   .collapse {
      visibility: collapse;
   }
   table {
      border-collapse: collapse;
      color: #ffffff;
      width: 100%;
      background-color: #35DC5A;
      border: 2px solid black;
   }
   th,
   td {
      border: 2px solid black;
      padding: 8px;
      text-align: left;
      font-size: 20px;
   }
</style>
</head>
<body>
   <table>
      <tr>
         <td>visible</td>
         <td>hidden</td>
         <td class="collapse">collapse</td>
      </tr>
      <tr>
         <td>initial</td>
         <td>inherit</td>
         <td>revert</td>
      </tr>
   </table>
</body>
</html> 

CSS visibility: collapse

以下示例演示了在非表格元素上设置 Visibility:collapse 时的情况,在这里我们看到该属性的作用与visibility:hidden相同:

<html>
<head>
<style>
   .collapse {
      visibility: collapse;
   }

</style>
</head>
<body>
  <h2>Collapse on nontable elements</h2>
  <p class="collapse">你看的到我吗?</p>
  <p>上面那段文字被隐藏</p>
</body>
</html> 

CSS visibility: collapse

以下示例演示了如何在将鼠标悬停在图像上时隐藏元素:

<html>
<head>
<style>
   .collapse {
      visibility: collapse;
   }
   img:hover + .hidable {
    visibility: hidden;
  }
</style>
</head>
<body>
  <img src="/static/default/images/logo.png" style="cursor:pointer;" />
  <h2 class="hidable">将鼠标悬停在上图上会隐藏!</h2>
</body>
</html>