如何解决Css Z-index不生效的问题

overme2个月前 (10-17)网页设计205
说来挺简单的一个事,小编硬是鼓捣了小一个上午,才解决这个问题。想着怕以后再遇到,也是为了给广大自学爱好者分享经验,就在此分享z-index不生效的解决方法:

现象:如图两个相邻的元素,想要后一个元素显示在前一元素的上方。实际情况时,上一个元素覆盖了后一个元素。

尝试的解决方法:

1、将前面一个元素的z-index值,设置为负值,后一个元素的z-index值设置为比较大的正值,结果无效。

2、网上查询了资料,说是使用了定位的元素才能使用z-index属性。因此将上面一个元素自身添加了position:relative属性,结果仍然无效。
也尝试了给父元素添加relative属性,也是无效。

3、后面考虑是不是因为目标元素在table结构中,尝试将内容独立出来进行Z-index操作,结果还是没有达到预期效果。

4、最后换了一个方向,给后一个元素添加了position:relative属性后。后面一个元素,覆盖到了前一个元素上方,实现了效果。

综合以上经验及网络资料,分享Z-index失效原因及处理方法:

z-index只作用在使用了定位的元素上,也就是我们经常用的position属性(static除外)。同一个父级元素下的元素层叠效果是受父级影响的,就是说如果你的父级z-index很小,那你子级设置再大也没有用

常见的z-index失效情况:

元素没有设置position属性
元素设置了浮动float
父级元素的z-index比子级元素的z-index小
元素的父级设置了position: relative

解决方案:

为目标元素设置position属性,比如position:relative
清除浮动
提高父级元素z-index值

相关文章


		CSS控制文本超过宽度 overflow显示为点点…

CSS控制文本超过宽度 overflow显示为点点…

如下图所示,想要的标题效果是只在一行内显示,但有点标题文字较多。在不使用字符截取的情况下,有没有办法通过Css Overflow控制文本超过宽度时,显示为点点…呢! 以下是实现方法: 元...


		CSS布局时如何控制li列表样式

CSS布局时如何控制li列表样式

li列表标签默认样式是前面有一个小圆点或者是数字序号。这个默认样式可以修改吗,当然是可以修改的! 如何通过css修改li标签样式? 在CSS中控制li列表的属性,常用的有list-style-t...


		Css如何给Table下的行tr设置下边框

Css如何给Table下的行tr设置下边框

如下图所示,网页HTML代码中使用是table tr,如何使用Css给每行tr设置下边框呢! 有时候有设置tr边框的需求,写下如下css 开始小编按以往Css的书写方法,尝试写了如下CSS代码...

如何使用CSS实现前后两个元素位置交换

如摘要所述,PC端左右布局的HTML元素,在手机移动端显示时,分别按Width 100%显示,结果展示的是前后的效果。 想要交换两个元素的显示顺序,在此分享实现方法: 首先,想要单独控制html...

使用 css-scope-in​​line 确定 CSS 内联样式的范围

内联标签提供了现代HTML样式模式,但这种机制在普通 CSS 和 HTML 中存在一个已知的范围问题:传统标签通常需要放置在 head 标签内,因此特定标签内的所有样式规则都会影响整个 HTML 页...

发表评论

访客

看不清,换一张

◎欢迎参与讨论,请在这里发表您的看法和观点。