bob*_*obD 4 css layout css-position
我最近意识到position: staticIs是多么无用,除非relative同样如此,否则它不会为你提供任何东西.
事实上,我的问题是"为什么不将这一行添加到我们的CSS文件中呢?"
* { position:relative; }
Run Code Online (Sandbox Code Playgroud)
所以我们总是能够轻松地absolute从它的父元素中定位任何元素,或者移动元素它可以在left: ...任何方向上自相同或相同.
那么为什么元素relative默认不定位?
谢谢
让我们在默认的静态状态中取一些元素并使其位置为:relative;.仅仅通过改变这个价值,没有任何反应.它出现在改变之前的完全相同的位置.但它确实改变了两件事:
如果所有元素都以相对定位开始,那么上面的所有两个项目都是自然而然的.您的顶部/右侧/底部/左侧值的工作方式与您认为开箱即用的一样.Z-index"也正常".定位上下文总是被约束到下一个父元素,这具有逻辑意义.
最值得注意的是,始终将定位上下文约束到父元素是有限的.假设您想要在页面的右上角放置一个元素,而不管元素在标记中出现的位置.如果元素被埋没在层次结构中,那将是艰难的.您需要为每个父元素重置该定位上下文.这意味着将它们设置回位置:静态;并且在此过程中失去相对定位的所有好处.