我听说一个绝对定位的元素相对于它的第一个非静态定位的祖先定位自己。但有什么更全面的原因吗?或者,对于静态元素来说,这只是一个任意的选择,而不是正确的选择。
我想我想知道CSS是否有统一的理论,也就是说,一个也许复杂但不那么复杂的理论。以这样一种方式勾勒出位置、静态和绝对的行为,这种相互作用是自然的结果。
我也无法在CSS规范中找到对此规则的明确引用;这可能会有所帮助。
发布于 2014-04-25 00:21:53
仅仅因为强迫人们将元素相对于父元素定位是不必要的限制。如果我想定位一个相对于<body>的元素,该怎么办?如果我想定位一个元素相对于一个特定的祖先呢?好吧,我可以把position: relative设置在目标父母身上。如果没有这个,我需要使用JS。
当然,我不认为这是最好的实现方式。如果我自己写了规范,我会写的:
position: absolute(selector);但当然,我不写规范。
发布于 2014-04-25 00:31:47
static是任何给定元素的默认位置,除非另有指定。如果绝对定位会把它作为一个参考点,那么你就不能绝对地定位一个元素,除了它的父元素。
为此,指定绝对定位以具有static以外的位置的最近的祖先元素作为参考点(如果没有,则使用视图本身)。
https://stackoverflow.com/questions/23282083
复制相似问题