Welcome to OGeek Q&A Community for programmer and developer-Open, Learning and Share
Welcome To Ask or Share your Answers For Others

Categories

0 votes
2.3k views
in Technique[技术] by (71.8m points)

为什么position: absolute的包含块是第一个非static的祖先?

position: static;的祖先元素为何不能作为position: absolute;的参照系?
这个规定背后的原理是什么呢?


与恶龙缠斗过久,自身亦成为恶龙;凝视深渊过久,深渊将回以凝视…
Welcome To Ask or Share your Answers For Others

1 Reply

0 votes
by (71.8m points)

position 的默认值就是 static,如果可以作为 absolute 的 offset parent,那 position 定位体系就完全失去了魔力。跨 DOM 层级脱离文档流定位就没法实现了,你永远被你的父元素束缚住了。

你如果希望内部的 absolute 直接被父元素束缚,加一个 position: relative 不设置 top right bottom left 是完全没有任何副作用的,效果和 static 一样,只是多了一个束缚内部 absolute 元素的能力。


与恶龙缠斗过久,自身亦成为恶龙;凝视深渊过久,深渊将回以凝视…
OGeek|极客中国-欢迎来到极客的世界,一个免费开放的程序员编程交流平台!开放,进步,分享!让技术改变生活,让极客改变未来! Welcome to OGeek Q&A Community for programmer and developer-Open, Learning and Share
Click Here to Ask a Question

...