固定定位破坏 z-index

Posted

技术标签:

【中文标题】固定定位破坏 z-index【英文标题】:Fixed Positioning breaking z-index 【发布时间】:2011-07-08 02:39:21 【问题描述】:

我有一个需要修改的网页,背景,当前使用 z-index 绝对定位以将其推回,滚动时需要保持原位,我需要将其更改为固定,但这样做似乎打破 z-index 并垂直推动其下方的内容。有什么想法吗?

编辑: 好的,我设法让它在 FF 中工作,但 IE 仍然坏了......

【问题讨论】:

你有一些我们可以看到的代码或链接吗? 首先,它目前是什么 z-index?为什么不将背景设置为身体的背景图像? .MainBG_Gradiant_Top float:left;宽度:100%;顶部:500px;左:0px; z-索引:-1;高度:90%;位置:绝对;背景图片:url('/images/portal/BodyGradiant.png');背景重复:重复-x; 已经有一个背景图片,这个应该会越过页面底部,滚动时会一直留在那里。 我正在尝试做这样的事情:quebecregion.com 【参考方案1】:

也许看看下面的规则是如何堆叠元素的。 The Stacking order and stacking context rules below are from this link

堆叠上下文中的堆叠顺序

元素的顺序:

    堆叠上下文的根元素(<html> 元素默认是唯一的堆叠上下文,但任何元素都可以是堆叠上下文的根元素,请参阅下面的规则) 您不能将子元素放在根堆叠上下文元素的后面 具有负 z-index 值的定位元素(及其子元素)(较高的值堆叠在较低的值之前;具有相同值的元素根据 HTML 中的外观堆叠) 非定位元素(按 HTML 中的外观排序) 具有自动 z-index 值的定位元素(及其子元素)(按 HTML 中的外观排序) 具有正 z-index 值的定位元素(及其子元素)(较高的值堆叠在较低的值之前;具有相同值的元素根据 HTML 中的外观堆叠)

当堆叠上下文形成时

当元素是文档的根元素时(<html> 元素) 当元素的位置值不是静态 z-index 值不是自动时 当元素的不透明度值小于 1 时 一些较新的 CSS 属性也会创建堆叠上下文。其中包括:转换、过滤器、css 区域、分页媒体,可能还有其他。见https://developer.mozilla.org/en-US/docs/Web/CSS/CSS_Positioning/Understanding_z_index/The_stacking_context 作为一般规则,如果 CSS 属性需要在屏幕外上下文中呈现,则它必须创建一个新的堆叠上下文。

【讨论】:

【参考方案2】:

Made a quick test。最简单的z-index 在使用position: fixed; 时不会中断。

【讨论】:

【参考方案3】:

也许您可以将已经存在的背景放在整个页面的包装器中,并在正文上使用渐变背景。

根据渐变的不同,您也可以尝试在正文背景上使用 css3 渐变(或简单地使用多个背景...)并使用 css3pie 使其在 IE 中工作。

【讨论】:

以上是关于固定定位破坏 z-index的主要内容,如果未能解决你的问题,请参考以下文章

z-index

21-z-index

21-z-index

21-z-index

HTML 文本输入会破坏 Iphone 6/7 plus 上的定位

HTML 和 CSS 在图像上定位文本