我有一个 div,其位置因包含它的 div 的相对定位而偏离。虽然删除 parent 的相对定位解决了这个问题,但我们宁愿不将其作为解决方案实现,因为它可能会破坏其他东西。有没有办法强制 child 忽略其 parent 的定位?
最佳答案
不幸的是,无法使用 CSS 动态地使元素“补偿”其父元素的相对定位。除非重新考虑布局,并且由于 position:fixed
不是您所追求的,您的选择是:
- Manually compensate for parent's positioning. 给子元素
position:relative
和与父元素完全相反的偏移量(您需要再次输入准确的值).小题大做,但你现在必须记住手动保持两对偏移量(父子偏移量)同步。发表评论说“如果你改变这个,你也必须改变#THAT”会有所帮助。 - 使用 Javascript 动态移动子元素。您可以在布局完成后执行一些计算,并将子元素移回您想要的位置。至少这不是一个干净的解决方案,它可能会导致短暂的视觉跳跃,并且不适用于禁用 Javascript 的人(使您的网站在视觉上被破坏)。唯一的好处是它不需要维护,除非您的布局发生根本性的变化。
总而言之,我建议您执行#1 而不是#2,并且只有在最佳解决方案(更改布局)对您不可用的情况下。
关于css - 有没有办法让特定的 div 忽略它的父 div 的定位?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/8828387/