我有一个div,其位置因其包含div的相对位置而偏离。虽然删除家长的相对位置可以解决此问题,但我们不希望将其作为解决方案实施,因为它可能会破坏其他内容。有没有办法强迫 child 忽略 parent 的位置?

最佳答案

不幸的是,无法通过CSS动态补偿元素的父级相对位置。除非重新考虑布局,否则因为position:fixed不是您想要的,所以您可以选择:

  • 手动补偿 parent 的位置。 给子元素position:relative并提供与父元素完全相反的偏移量(您将需要再次键入确切的值)。最小的麻烦,但是您现在必须记住手动保持两对偏移量(对于 parent 和 child )同步。放置一条评论“如果您要更改此内容,还必须更改#THAT”,将有帮助。
  • 使用Javascript动态移动 child 。 您可以在完成布局后执行一些计算,并将子元素移回所需的位置。至少不是一个干净的解决方案,它可能会导致短暂的视觉跳转,并且不适用于禁用Javascript的人(使您的网站在视觉上无法显示)。唯一的好处是,除非布局发生根本变化,否则无需维护。

  • 总而言之,我建议仅在#2上执行#1,并且仅当您无法使用最佳解决方案(更改布局)时才这样做。

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

    10-10 18:49
    查看更多