CSS auto、0和no z-index之间的区别

CSS auto、0和no z-index之间的区别

网页中的元素位置是开发者赋予的一个关键属性。如果你的元素没有正确放置,那么它可能会显示出荒谬或杂乱的样子。因此,开发者明智地赋予每个HTML元素的位置是很重要的。

有时候,即使相应位置已被分配,元素之间仍可能重叠。这些重叠的元素可能会堆叠在一起,隐藏其他元素。为了解决这个问题,CSS提供了用于网页设计的z-index属性。在本文中,我们将学习CSS的z-index属性。我们还将讨论不同的z-index值以及它们之间的区别。

什么是z-index属性

CSS的z-index属性允许开发者为重叠在z轴上的元素分配顺序,即屏幕内或屏幕外。然而,z-index属性只适用于具有指定位置值的元素(除了静态定位)。

HTML元素的堆叠级别由z-index属性确定。元素在Z轴上的位置被称为“堆叠级别”(相对于X轴或Y轴)。如果值较高,则元素将被放置在堆叠顺序的顶部。此堆叠顺序与视口或显示器垂直。

在HTML页面上,组件在Z轴上的自然堆叠顺序受到多种因素的影响。这包括具有负堆叠上下文的元素、非定位、非浮动的块级元素、非定位、浮动的元素、内联元素和定位元素,按照显示顺序排列。

语法

element{
   z-index: values;
}

以下是此属性的值:

  • Auto - 重叠顺序与父级的值相同。这是默认值。

  • Number - 重叠顺序以数字如1、2、3等分配。

  • Initial - 顺序设置为默认值。

  • Inherit - 重叠顺序从父元素继承。

示例

<!DOCTYPE html>
<html>
<head>
   <title>z-index property</title>
   <style>
      .demo1{
         font-family: cursive, Cochin, Georgia;
         background-color: red;
         position: absolute;
         top: 100px;
      }
      .demo2{
         font-family: cursive, Cochin, Georgia;
         background-color: #FFFF00;
         position: absolute;
         top: 100px;
         left: 300px;
         z-index: 2;
         width: 200px;
      }
   </style>
</head>
<body>
   <center>
      <h2> z-index property </h2>
      <div class= "demo1"> This is an example. </div>
      <div class= "demo2"> This is an example. </div>
   </center>
</body>
</html>

z-index属性的自动值

z-index属性的自动值是元素的顺序与父元素相同。

示例

<!DOCTYPE html>
<html>
<head>
   <title>Auto value of z-index property</title>
   <style>
      .demo1{
         font-family: verdana,'cursive';
         background-color: #FFFF00;
         position: absolute;
         top: 120px;
         z-index: auto;
      }
      .demo2{
         font-family: cursive, Cochin, Georgia;
         background-color: red;
         position: absolute;
         top: 200px;
         z-index: auto;
      }
   </style>
</head>
<body>
   <center>
      <h2>z-index property</h2>
      <p class= "demo1"> This is an example. </p>
      <p class= "demo2"> This is an example. </p>
   </center>
</body>
</html>

z-index属性的零值

z-index属性的零值是对元素顺序的数字值。将z-index值指定为0会创建一个堆叠内容。例如,如果我们有两个元素元素1和元素2,它们的z-index分别为1和0。所以,元素1将叠放在元素2之上。而如果它们的z-index分别为-1和0,那么元素1将叠放在元素2之下。请看下面的示例。

示例

<!DOCTYPE html>
<html>
<head>
   <title>Zero value of z-index property</title>
   <style>
      .demo1{
         font-family: cursive, Cochin, Georgia;
         background-color: #FF0000;
         position: absolute;
         top: 120px;
         z-index: 0;
      }
      .demo2{
         font-family: cursive, Cochin, Georgia;
         background-color: red;
         position: absolute;
         top: 100px;
         left: 300px;
         z-index: 0;
         width: 200px;
      }
   </style>
</head>
<body>
   <h1>Tutorialspoint</h1>
   <h2>z-index property</h2>
   <p class= "demo1">This is an example.</p>
   <p class= "demo2">This is an example.</p>
</body>
</html>

z-index属性没有值

z-index属性没有值通常与auto值相同。

示例

<!DOCTYPE html>
<html>
<head>
   <title>No value for z-index property</title>
   <style>
      .demo{
         font-family: cursive, Cochin, Georgia;
         background-color: #FFFF00;
         position: absolute;
         top: 120px;
      }
   </style>
</head>
<body>
   <h2>z-index property</h2>
   <p class= "demo">This is an example.</p>
</body>
</html>

结论

在CSS中,叠加上下文是一个具有挑战性的主题。在本文中,我们对网页上的叠加上下文如何受z-index影响进行了详细描述,并且当完全理解时,它会转化为一种强大的CSS属性。现在,新的开发者应该能够有效地使用它,并且避免一些常见的问题。高级开发者也应该更加清楚如何适当地应用z-index来解决各种布局挑战,并提供多种创意的CSS设计选项。

Camera课程

Python教程

Java教程

Web教程

数据库教程

图形图像教程

办公软件教程

Linux教程

计算机教程

大数据教程

开发工具教程

CSS 精选笔记