滚动条不隐藏
Scrollbars not hiding
我最近偶然发现了一个与浏览器滚动条相关的非常有趣的行为。这是 link 来证明这一点:http://jsfiddle.net/5L7tyswh/5/
HTML:
<div class='container'>
<div class='fix' />
</div>
CSS:
body {
margin: 0;
}
.container {
position: absolute;
overflow: auto;
width: 100%;
height: 100%;
max-height: 400px;
max-width: 400px;
}
.noscroll {
overflow: hidden;
}
.fix {
width: 400px;
height: 400px;
background-color: green;
}
所以情况基本上是这样的:我想要一个固定大小的 div,如果 window 变得小于最小值,它是可滚动的。我明确希望滚动条出现 'in the div',因此我创建了一个充当 'scrollpanel' 的容器。到目前为止一切顺利。
当您将 window 缩小到足以显示滚动条然后再次放大时,就会出现奇怪的情况。发生的情况是滚动条没有按应有的方式隐藏(至少我认为这是合乎逻辑的)。我不知道这是错误还是功能,但我的建议是前者。我对此的唯一解释是垂直和水平滚动条相互阻止消失。
解决方法是注释 javascript,如果您取消注释,滚动条将按预期运行。
谁能更好地解释一下?
更新:
到目前为止,我只能在 Chrome 中复制它。它适用于 IE11 和 Firefox。
看起来像是 Chrome 的错误或特性;)
您可以通过在 css
中使用 @media 指令来防止 Chrome 中没有 javaScript 和额外 类 的行为
@media screen and (min-width: 400px) {
.container {
overflow: hidden;
}
}
这可以防止在 window 大于 400px 时出现滚动条。适用于所有(最新)浏览器。
我最近偶然发现了一个与浏览器滚动条相关的非常有趣的行为。这是 link 来证明这一点:http://jsfiddle.net/5L7tyswh/5/
HTML:
<div class='container'>
<div class='fix' />
</div>
CSS:
body {
margin: 0;
}
.container {
position: absolute;
overflow: auto;
width: 100%;
height: 100%;
max-height: 400px;
max-width: 400px;
}
.noscroll {
overflow: hidden;
}
.fix {
width: 400px;
height: 400px;
background-color: green;
}
所以情况基本上是这样的:我想要一个固定大小的 div,如果 window 变得小于最小值,它是可滚动的。我明确希望滚动条出现 'in the div',因此我创建了一个充当 'scrollpanel' 的容器。到目前为止一切顺利。
当您将 window 缩小到足以显示滚动条然后再次放大时,就会出现奇怪的情况。发生的情况是滚动条没有按应有的方式隐藏(至少我认为这是合乎逻辑的)。我不知道这是错误还是功能,但我的建议是前者。我对此的唯一解释是垂直和水平滚动条相互阻止消失。
解决方法是注释 javascript,如果您取消注释,滚动条将按预期运行。
谁能更好地解释一下?
更新:
到目前为止,我只能在 Chrome 中复制它。它适用于 IE11 和 Firefox。
看起来像是 Chrome 的错误或特性;) 您可以通过在 css
中使用 @media 指令来防止 Chrome 中没有 javaScript 和额外 类 的行为 @media screen and (min-width: 400px) {
.container {
overflow: hidden;
}
}
这可以防止在 window 大于 400px 时出现滚动条。适用于所有(最新)浏览器。