【问题标题】:Strange behavior of scrollHeight in firefox on div with padding and overflow:auto带有填充和溢出的 div 上 Firefox 中 scrollHeight 的奇怪行为:自动
【发布时间】:2013-01-31 17:19:15
【问题描述】:

在这里,http://jsfiddle.net/YNKws/

<div id="div1" style="padding: 2px; overflow: auto;">
  <div style="height:30px;">lalala</div>
  <div style="height:30px;">lalala</div>
</div>

var d = $("#div1");
for (var i = 0; i < 5; i++) {
  console.log(d.height(),d[0].scrollHeight);
  d.height(d.height() - 1);
}

有带有填充和溢出的 div:auto。在 Firefox 中,div 的 scrollHeight 值有奇怪的行为。当我们将 div 的高度设置为小于它的原始高度时,很自然地期望滚动条立即出现并且 scrollHeight 值保持不变。 Chrome适合这些期望但不适合firefox,最后一个不绘制滚动条,当原始高度的偏差小于div的padding时减小底部填充和scrollHeight。

这是一个错误吗?是否有修复这个“错误”的方法?

【问题讨论】:

    标签: html firefox scrollbar padding


    【解决方案1】:

    Firefox 的行为是 CSS 规范所要求的:用溢出填充事物本身不会导致溢出。

    【讨论】:

    • 是否有任何关于此行为的文档记录?在使用 overflow-y:auto 更改元素的高度后,我的 scrollHeight 不一致
    猜你喜欢
    • 2014-05-18
    • 1970-01-01
    • 2023-04-10
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2012-06-28
    • 2018-12-18
    • 2012-12-31
    相关资源
    最近更新 更多