带有滚动容器的绝对定位元素

时间:2014-09-12 18:48:41

标签: html css

绝对定位元素应该从元素流中移除,并且(我理解)不能使文档变大(创建滚动条),但只是看不见而且不在意。

但是在我的实验中,当我向左偏移一个绝对元素时,我得到了滚动条,而在右边,我得到了预期的行为。为什么会这样做,我怎么能得到我期待的行为?

http://jsbin.com/bosajigapifu/6/edit

3 个答案:

答案 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代替绝对。

不同之处在于它不受任何父元素的限制,只受视口本身的约束,但它在偏移时不会创建滚动条......

http://jsfiddle.net/t6g4421a/