CSS   发布时间:2022-04-17  发布网站:大佬教程  code.js-code.com
大佬教程收集整理的这篇文章主要介绍了覆盖CSS Z索引堆栈上下文大佬教程大佬觉得挺不错的,现在分享给大家,也给大家做个参考。
我试图覆盖/忽略元素的堆叠上下文,以便它可以相对于页面根位于z轴上.

但是,根据文章What No One Told You About Z-Index

以下示例:

HTML:

<div><span class="red">Red</span></div>
<div><span class="green">Green</span></div>
<div><span class="blue">Blue</span></div>

还有一些CSS

.red,.green,.blue { position: absolute; }
.red   { BACkground: red; }
.green { BACkground: green; }
.blue  { BACkground: blue; }

如果第一个div被赋予不透明度:.99;(它在第一个节点上创建一个new stacking context),那么即使.red有z-index:1,它仍然会被放置在其他元素的后面,因为它只是渲染为该堆栈内的最高元素.

Working Demo in jsFiddle

看起来像这样

问:是否有一种方法可以忽略任何一个父元素的堆栈上下文,并要求相对于页面的原始堆栈上下文进行定位?

解决方法

不,不可能在堆栈上下文之间传输定位元素,而不必在DOM中重新定位元素.您甚至不能通过使用position:fixed或position:absolute来移动元素到根堆叠上下文(如您所观察到的那样,.red相对于其父代定位,div:first-child,因为它创建了一个新的堆叠上下文).

如此,鉴于您的HTML和CSS,应该很简单,只是将类重新分配给div元素,如其他答案和here所示,所以您的div和span都参与根堆栈上下文:

<div class="red"><span>Red</span></div>
<div class="green"><span>Green</span></div>
<div class="blue"><span>Blue</span></div>

你的情况可能不像看起来那么简单.

大佬总结

以上是大佬教程为你收集整理的覆盖CSS Z索引堆栈上下文全部内容,希望文章能够帮你解决覆盖CSS Z索引堆栈上下文所遇到的程序开发问题。

如果觉得大佬教程网站内容还不错,欢迎将大佬教程推荐给程序员好友。

本图文内容来源于网友网络收集整理提供,作为学习参考使用,版权属于原作者。
如您有任何意见或建议可联系处理。小编QQ:384754419,请注明来意。