为什么CSS绝对不能用于静态父级?

时间:2015-12-15 12:53:59

标签: html css

W3Schools

  带有position: absolute

元素是   相对于最近的定位祖先定位。哪里   定位元素的位置是除静态之外的任何元素。

我的问题是为什么static元素被排除在外? 我知道我可以将position: relative;left:0px;top:0px;right:0px;bottom:0px设置为与position:static相同,但IMO看起来像是一种解决方法。

2 个答案:

答案 0 :(得分:5)

  

我的问题是为什么要排除静态元素?

因为否则absolute无法对元素的直接父级以外的任何位置进行定位。

  

我知道我可以设置位置:相对;左:0px;上:0px;右:0px;下:0px

您无需明确设置距离。只是职位属性会做。

答案 1 :(得分:4)

只需position: relative即可。

这是一件好事,因为否则浏览器必须对每个元素应用计算,而不是为静态定位采用更短的路径。

这也意味着你可以拥有任意容器,只要它们是静态的,并且仍然有一个元素可以相对于你选择的容器定位。