父元素fixed定位,子元素absolute定位,子元素如何才能不被父元素影响成fixed?

用例子来说

html

<div class="pasrent">
    <div class='son'></div>
</div>

css

body{height:2000px}
.parent{position: fixed;top: 0;left: 0;right: 0;height: 200px;}
.son{position: absolute;top: 300px;left: 400px;right: 400px;height: 500px;}

遇到的问题:
这样嵌套定位之后,我们的son元素也会拥有fixed定位,相对与屏幕定位,不管滚动条怎么滚,子元素就是在屏幕上不动,而我希望这里的子元素还是独立的,还是absolute定位,不要静止在屏幕上。有没有同学遇到过类似的问题呢?

阅读 18.4k
5 个回答
新手上路,请多包涵

建议你多学习一下 CSS定位基础 - “包含块” 的概念。

你的son 包含在 parent里,那么son的包含块为 最近的 position值不是 static 的祖先元素

不了解实际情况,可以试试这样嵌套。

<div class="wrap">
    <div class="fixed"></div>
    <div class="absolute"></div>
</div>

son是相对于parent绝对定位了,当然son也不滚动了

不要把子元素嵌套到父元素

撰写回答
你尚未登录,登录后可以
  • 和开发者交流问题的细节
  • 关注并接收问题和回答的更新提醒
  • 参与内容的编辑和改进,让解决方法与时俱进
推荐问题