【问题标题】:google chrome adding unwanted margin on css change using jquerygoogle chrome 使用 jquery 在 css 更改上添加不需要的边距
【发布时间】:2011-01-14 06:53:16
【问题描述】:

伙计们。我正在使用 ajax 和 jquery 将数据加载到表中。这可能很多,所以我想滚动它。我已经把表格放在了一个div中。现在我已经像这样在 jquery 中建立了一个检查:

if($('div#result table').height() > maxHeight)
    $('div#result').css('overflow-y', 'scroll');
else
    $('div#result').css('overflow-y', 'hidden');

这在 Firefox 中效果很好,但在 google Chrome 中,div 还获得了额外的 15 边距。在我看来,这就像滚动条的宽度,但这是不需要的,因为滚动条位于 div 内,而不是在它之外。当我用 chrome 开发工具查看 div 时,margin 没有 css 来源。它没有显示它来自哪里。我很确定这是 chrome 自己在做的事情,因为我没有在我的 jquery 代码中做任何有边距的事情。

是我做错了什么还是这只是 chrome 的怪事?如果是这样,我能做些什么来解决它? (最好不要写太多依赖于浏览器的代码)或者有没有更优雅的方式来处理这个问题而不必处理这些问题?

在你问之前:我不想一直在滚动时溢出-y,因为即使所有内容都适合 div,它也会显示滚动条。

谢谢!

【问题讨论】:

    标签: jquery css google-chrome


    【解决方案1】:

    只需使用overflow-y: auto; max-height: [maxh]。这就是自动溢出的设计目的。仅当内容不适合时才显示滚动条。

    【讨论】:

    • 嗯好吧..不知道那个:P会试试! 1分钟..该死的,它工作得很好。觉得好傻。谢谢!
    猜你喜欢
    • 2011-08-08
    • 1970-01-01
    • 2012-11-11
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2014-02-07
    • 2021-10-03
    • 2013-12-06
    相关资源
    最近更新 更多