css - 有没有办法让特定的 div 忽略它的父 div 的定位?

标签 css html css-position

我有一个 div,其位置因包含它的 div 的相对定位而偏离。虽然删除 parent 的相对定位解决了这个问题,但我们宁愿不将其作为解决方案实现,因为它可能会破坏其他东西。有没有办法强制 child 忽略其 parent 的定位?

最佳答案

不幸的是,无法使用 CSS 动态地使元素“补偿”其父元素的相对定位。除非重新考虑布局,并且由于 position:fixed 不是您所追求的,您的选择是:

  1. Manually compensate for parent's positioning. 给子元素 position:relative 和与父元素完全相反的偏移量(您需要再次输入准确的值).小题大做,但你现在必须记住手动保持两对偏移量(父子偏移量)同步。发表评论说“如果你改变这个,你也必须改变#THAT”会有所帮助。
  2. 使用 Javascript 动态移动子元素。您可以在布局完成后执行一些计算,并将子元素移回您想要的位置。至少这不是一个干净的解决方案,它可能会导致短暂的视觉跳跃,并且不适用于禁用 Javascript 的人(使您的网站在视觉上被破坏)。唯一的好处是它不需要维护,除非您的布局发生根本性的变化。

总而言之,我建议您执行#1 而不是#2,并且只有在最佳解决方案(更改布局)对您不可用的情况下。

关于css - 有没有办法让特定的 div 忽略它的父 div 的定位?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/8828387/

相关文章:

c# - 右键单击视频时出现视频保存问题

html - 如何将元素移动到顶部元素高度的-100%?

html - 我怎样才能把这个按钮正确地放在我的段落下面?

html - 调整浏览器大小时元素丢失位置

html - 使用 css 添加背景图片,不起作用?

javascript - 我需要使用 HTML、CSS 和 JavaScript 来实现这一点——任何帮助都会很棒

跨 Angular 组件相对于父级父级的 CSS 定位

css - 在其他元素下定位和扩展元素

JavaScript 在多个模式上添加类

html - 对齐元素,对齐 self 不适用于 IE11