我正在阅读"定位技巧"这个article在MDN上。 它谈到"绝对定位元素可以固定到相对于其最近定位的祖先元素的位置"。
我对"定位祖先的理解"是一个祖先,除静态之外的任何位置属性。但我需要专家意见来验证我的想法。
答案 0 :(得分:5)
当引用定位的祖先时,我们指的是具有集合position
值的元素的最接近的祖先,而不是static
(默认值)。
所以这里有两个假设:
position:static
的祖先(可能是由JavaScript设置,为了更改"定位的祖先")我们并不意味着祖先。为什么这很重要?因为"定位祖先" 是计算left
和top
等属性的引用,所以当给予后代position:absolute
时。它也被称为"参考元素/父母"后代
此外,如果此最近的祖先具有集合z-index
(auto
除外),则会为其后代创建堆叠上下文。
答案 1 :(得分:2)
在这种情况下,包含块是最近的祖先。 “定位”是指其position属性设置为的元素 相对的,绝对的或固定的 - 换言之,除了正常之外的任何东西 静态元素。
Long description for example illustrating positioning with respect to a positioned ancestor
由相对定位的祖先建立的包含块 ("外&#34)。
并CSS Module 3,搜索"定位祖先"在那个页面上。