为什么绝对定位(position:absolute)不能放在静态父容器里面?
Why does the absolute positioning (position:absolute) cannot be placed inside a static parent container?
我理解 CSS 的工作方式,绝对定位的元素找到最近的非静态父容器。我只想知道为什么会这样?为什么不允许绝对定位的元素进入静态父容器?
HTML 元素默认静态定位,静态定位元素不受 top、bottom、left 和 right 属性的影响,因此 position: static
的元素不会定位在任何位置特殊方式;它始终根据页面的正常流动进行定位。
一个 absolute
定位元素将相对于最近定位的祖先元素定位,它不能相对于静态元素父元素的原因是因为否则 absolute 将无法相对定位到元素的直接pareny以外的任何东西,它必须对每个元素应用计算,而不是只能为静态定位元素采用更短的路径。
使用 static
定位元素允许您拥有任意元素容器,这让您拥有一个可相对于您希望的元素容器定位的元素,而不一定是中间父元素。
我理解 CSS 的工作方式,绝对定位的元素找到最近的非静态父容器。我只想知道为什么会这样?为什么不允许绝对定位的元素进入静态父容器?
HTML 元素默认静态定位,静态定位元素不受 top、bottom、left 和 right 属性的影响,因此 position: static
的元素不会定位在任何位置特殊方式;它始终根据页面的正常流动进行定位。
一个 absolute
定位元素将相对于最近定位的祖先元素定位,它不能相对于静态元素父元素的原因是因为否则 absolute 将无法相对定位到元素的直接pareny以外的任何东西,它必须对每个元素应用计算,而不是只能为静态定位元素采用更短的路径。
使用 static
定位元素允许您拥有任意元素容器,这让您拥有一个可相对于您希望的元素容器定位的元素,而不一定是中间父元素。