谁的滚动条
- 当元素的
内容区
恰好包含了滚动条
时,滚动条
属于当前元素(div.outer
)
overflow
溢出的高度是谁的
1 | <div class="outer"> |
1 | .outer { |
inner
的高度只有200px
,但是inner
的子元素h1
和p
的高度加起来超过了200px
。inner
的height
属性为固定值,所以高度没有被撑开,仍然是200px
。inner
的overflow
属性为默认值visiable
,所以内容不会被修剪,会呈现在元素框之外 。
- 从
inner
往上追溯,outer
的高度也是固定值,也不会被撑开。 outer
的overflow
属性为auto
。 因此从inner
溢出的内容高度被outer
捕获。
注:如果outer
的overflow
属性也是visiable
,则outer
不会出现滚动条,会继续向上抛出溢出内容的高度,直到被更上一层元素捕获。
同理:如果html
的overflow
属性也是visiable
,html
会将溢出的内容高度
抛给浏览器
,所以会有这样的情况:整个页面出现了滚动条,但是滚动条不属于html
,也不属于body
。但是可以通过window.scrollTo()
或者document.documentElement.scrollTop
来控制滚动条的移动。