详解css中的z-index(一)

详解css中的z-index(一)

Z-index

在我们常用的css中z-index 属性是设置节点的堆叠顺序, 这是我们对 z-index 属性普遍的认识. 与此同时, 我们总是对堆叠顺序的概念模糊不清,这样将会导致我们在平时的布局中出现一些问题。下面我个人对css中z-index的一些个人的认识,希望能帮到大家,有说错的地方希望大家指正。

css布局中我们常常会使用一些float:laft;和float:right;以及定位中的absolute,relative,fixed;

有的人误认为定位和定位之间是本身就存在附带堆叠顺序的,在自己经过测试之后发现,他们的默认是没有堆叠顺序的,只是在html中标签的前后顺序导致的而使大家误认为是定位和定位之间的堆叠顺序而导致的。

下面是正常使用z-index代码示例:

定位中的static是标准流,所以这里不做讲解

当我们有三个盒子

p {
 width: 100px;
 height: 100px;
 color: white;
 float: left;
 }
.p1 {
 position: fixed;
 background-color: red;
 }
.p2 {
 background-color: blue;
 position: relative;
 }
.p3 {
 background-color: green;
 position: absolute;
 }
 </style>
</
head
>
<body>
<p class="p1">p1</p>
<p class="p2">p2</p>
<p class="p3">p3</p>
</body>
</html>

我们给他们分别设置fixed,relative,absolute;背景色为红色,蓝色,绿色

我们会发现absolute的绿色盒子会在最上面,在html代码中更改标签的位置顺序则可以让盒子出现在堆叠层的最上面,当然如果我们要想在不改变html标签的顺序,那么我们就可以使用第二种方法z-index:

在我们添加z-index是要注意这个样式是有值的;值也可以影响我们的堆叠顺序。

样式内z-index的值越大的堆叠层越高,当然我们也要注意z-index也并不是在什么时候都管用的。

只有在同一样式时,比如定位与定位之间的堆叠,浮动与浮动之间的堆叠,如果有两个盒子,一个盒子为浮动元素一个盒子为定位元素,两个盒子发生堆叠,此时我们想要浮动的盒子显示在定位盒子之上,我们是没有办法的,设置z-index这个时候是没有用的。

定位的盒子本身堆叠的顺序就要比浮动的盒子的堆叠顺序要高,所以此时我们要解决这个问题就需要把浮动盒子换成定位的盒子,设置之后我们就可以z-index来设置堆叠顺序了。

上面是本人的一点个人观点,希望可以帮到大家,后续自己也会写一些关于web中一些个人认识。有不同观点大家可以随意发表。

详解css中的z-index(一)

相关文章:

你感兴趣的文章:

标签云: