css“固定”的子元素位置相对于父元素不到视口,为什么?

前端之家收集整理的这篇文章主要介绍了css“固定”的子元素位置相对于父元素不到视口,为什么?前端之家小编觉得挺不错的,现在分享给大家,也给大家做个参考。
我正在开发一个wordpress主题,一个同位素网格,一个文件上的悬停应该在浏览器的底部显示一个固定位置的标题。我有这个简化的结构:
<div id="main">
    <article class="hubbub">
        //article content
    <h2 class="subtitled">
        //h2 content
    </h2>
    </article>
</div>

通过jQuery,一个悬停在< article>应该显示其子元素h2.subtitled。 <物品>相对位置,但是通过同位素脚本获得绝对位置。 h2.subtitled定位固定为:

.subtitled {
            display: none;
            position: fixed;
            z-index: 999999999;
            bottom: 20px;
            left: 0;
            width: 100%;
            font-family: Arial,Helvetica,sans-serif;
            font-size: 42px;
            text-align: center;
            color: yellow;
}

由于某种原因,h2.subtitle元素被定位为与父< article>元素,所以每个< article>的底部。如果我设置< h2>在< article>之外,它被定位为与浏览器相关联,但是它们需要在< article>元素,因为无限卷动附加新的< article>元素,它们也应该包含< h2>标题

有人知道,如何使这个位置固定和与浏览器窗口相关?

谢谢!

解决方法

FWIW,当我遇到这个问题,原来是一个父div与-webkit-transform:translate3d(0,0,0)在其CSS。显然,这是一个已知的潜在的混乱的孩子元素的位置:固定的来源。

对于我正在做的事情(在固定的开启和关闭作为一种方式,将一个关键的导航元素粘贴到页面的顶部,因为它滚动),解决方案是将它附加到页面body元素的时候到把它保持在适当的位置,并将其粘贴在包装纸上。不知道这是否会帮助OP,但如果你自己追逐这个bug,值得研究一下。

猜你在找的CSS相关文章