Mat*_*ott 156
静态定位是元素的默认定位模型.它们显示在作为普通HTML流程的一部分呈现的页面中.静态定位的元素不服从left,top,right和bottom规则:

相对定位,可以指定一个特定的偏移量(left,top等等),这是相对于在HTML流动的元件的正常位置.因此,如果我有一个文本框,div我可以在文本框上应用相对定位,使其显示在相对于通常放置在以下位置的位置的特定位置div:

还有绝对定位 - 您可以指定元素相对于整个文档的确切位置,或者指定元素树中下一个相对定位的元素:
当a position: relative应用于层次结构中的父元素时:

注意我们的绝对位置元素是如何被相对定位的元素绑定的.
最后是固定的.固定定位将元素限制在视口中的特定位置,该位置在滚动期间保持原位:

您还可能会观察到固定定位元素不会导致滚动的行为,因为它们不被视为绑定到视口:

绝对定位的元素仍然被视口绑定并将导致滚动:

..当然,你的父元素overflow: ?用来确定滚动的行为(如果有的话).
通过绝对定位和固定定位,元素从HTML流中取出.
小智 5
回答“为什么CSS仍将实现位置:静态;” 在一个场景中,为父级使用position:relative,为子级使用position:absolute限制子级的缩放宽度。在水平菜单系统中,您可能会有链接的“列”,使用“ width:auto”不适用于相对的父级。在这种情况下,将其更改为“静态”将允许宽度根据其中的内容而变化。
我花了好几个小时,想知道为什么我无法根据容器中的内容量来调整容器。希望这可以帮助!