html - 如果父元素是静态的,为什么绝对定位的元素不会相对于其父元素定位自己?

标签 html css css-position

我听说绝对定位的元素相对于它的第一个非静态定位的祖先定位自己。但这是否有更全面的原因?或者它只是一个任意的选择,它不会适用于静态元素。

我想我想知道是否有一些统一的 CSS 理论,可以这么说,即一个可能很复杂但不那么复杂的理论。一种概述位置、静态和绝对行为的方式,这种交互作为自然结果从中产生。

我在 CSS 规范中也找不到对这条规则的明确引用;这可能会有所帮助。

最佳答案

仅仅因为强制人们相对于父元素定位他们的元素是一个不必要的限制。如果我想相对于 <body> 定位元素怎么办? ?如果我想相对于特定祖先定位元素怎么办?好吧,我可以设置 position: relative在目标 parent 身上。没有这个,我需要使用 JS。

当然,我不认为这是实现它的最佳方式。如果我自己编写规范,我会做到:

position: absolute(selector);

当然,我不会编写规范。

关于html - 如果父元素是静态的,为什么绝对定位的元素不会相对于其父元素定位自己?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/23282083/

相关文章:

html - jumbotron 和列 div 之间的空白( Bootstrap )

css - Twitter Bootstrap 布局宽度隐藏元素

css - 堆叠 Canvas 移除默认透明度 HTML

html - CSS div 高度填充剩余空间并在达到屏幕最大高度时滚动

css - 使用 nth-child 或 nth-of-type 我想选择这种模式 -1,5,9,13,17,19..-

html - 我需要一些关于正确定位和显示 CSS 的建议

jQuery 根据浏览器返回不同的顶部和左侧值

javascript - 在新插件中使用 attr() 函数?

javascript - 调整元素大小但保持集中

html - 如何使用 font-family 属性指定专有字体?