【发布时间】:2013-06-09 23:23:18
【问题描述】:
我正在使用 Snap.js 插件 -(它允许您创建滚动侧抽屉/面板)。
它通过创建 3 个绝对定位的 div 来工作,其中一个包含主要内容。
当一个 div 本身位于绝对定位的 div 内时,有没有办法将它定位到窗口的顶部。
目前我只是将固定的 div 固定到绝对定位的 div 的顶部,而不是固定到浏览器的顶部。当我滚动时,div 保持固定在主要内容的顶部,而不是窗口。
例如:
<div style="position:absolute;">
<div style="position:fixed;top:0">
<!-- some content which needs to be pinned to top of window -->
</div>
</div>
目前我正在使用 javascript 来跟踪滚动偏移量并手动调整子 div 的顶部位置,这对于性能来说并不理想。
任何帮助表示赞赏!
【问题讨论】:
-
绝对定位的 div 应用了以下 css: translate3d(0px, 0px, 0px),如果我将其移除,则固定元素会正常运行并固定在窗口顶部。关于为什么会这样的任何想法?
-
这就是您的示例代码所做的。 (这是您想要的吗?)当您将位置固定在一个元素上时,它会将其从文档流中取出并使其相对于视口。你是说 snap.js 打破了这个?
-
我主要使用的是firefox 21.0,它有描述的问题。您对解决此问题有任何想法吗?或者我是否必须对 snap.js 的工作方式进行修改?他们在这里也有一些信息github.com/jakiestfu/Snap.js/issues/24
-
如果你去这里jakiestfu.github.io/Snap.js/demo/apps/default.html 并将以下内容添加到具有id内容的div中,可以重新创建问题。
标签: javascript html css snap.js