绝对定位元素应该从元素流中移除,并且(我理解)不能使文档变大(创建滚动条),但只是看不见而且不在意。
但是在我的实验中,当我向左偏移一个绝对元素时,我得到了滚动条,而在右边,我得到了预期的行为。为什么会这样做,我怎么能得到我期待的行为?
答案 0 :(得分:2)
绝对定位的元素不会推送其他元素,但如果相对于它的元素是最近的滚动祖先,它会推出滚动框。
这个想法是它的内容,应该显示出来。当你想在滚动容器外面放置某些东西时,有点烦人。
答案 1 :(得分:2)
如果将定位的绝对元素放入width: 100%
的容器中,但是overflow: hidden
,则可以“将其推入空白”。只要它的容器没有超出窗口范围,它就不会显示滚动条。
元素:
<div id="container">
<div id="absolute"></div>
</div>
样式:
<style>
#container{
width: 100%;
overflow: hidden;
}
#absolute{
position: absolute;
}
</style>
答案 2 :(得分:1)
您可以使用position: fixed
代替绝对。
不同之处在于它不受任何父元素的限制,只受视口本身的约束,但它在偏移时不会创建滚动条......