我有一个<div>
其宽度设置为100%
。当我添加position:fixed
到它,宽度变成16px
larger.
我注意到身体上有8px
各边都有边距,所以我猜position:fixed
以某种方式忽略了包含它的正文标签的边距。
我看了看MDN 参考但无法找到任何可以解释正在发生的事情的信息。
有什么position:fixed
改变了关于<div>
导致这种行为的原因是什么?
例子:http://jsfiddle.net/UpeXV/
The body
自动有一个边距8px
。所以当你设置width
你的元素100%
,它变成身体的宽度,减去8px
两侧。
但是当你给出元素时position:fixed
,它不再相对于主体设置,而是相对于没有边距的视口设置。所以width
现在是视口的宽度,即 2 *8px
更广泛 - 的16px
你观察到的。
这是关于该主题的 W3 文档:
具有position:absolute的元素的位置和尺寸是相对于其包含块的,而具有position:fixed的元素的位置和尺寸始终相对于初始包含块。这通常是视口:浏览器窗口或纸张的页面框。
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)