取消修复子div

时间:2015-09-14 08:52:22

标签: html css

我有一个固定的div在滚动时粘到顶部。但是孩子div不应该被修复。有没有办法不改变html结构呢?

<div id="header" style="position: fixed; top: 0">
   <div id="shouldn't_be_sticky" style="position: absolute">
        some content
   </div>
</div>

2 个答案:

答案 0 :(得分:2)

答案是否定的。

根据this (MDN specification),绝对定位的元素相对于定位到最近的祖先,它具有固定的定位,并且子元素将粘贴到它上面。

所以你必须改变你的HTML。

答案 1 :(得分:1)

你不能,但你可以做的不是嵌套它:

&#13;
&#13;
body {
  height: 2000px;
  margin: 0;
}
#header {
  background-color: #aaa;
  height: 50px;
  width: 100%;
  position: fixed;
  top: 0;
}
&#13;
<div id="header">
</div>
<div id="shouldn't_be_sticky" style="position: absolute;">
  some content
</div>
&#13;
&#13;
&#13;