【问题标题】:removing page scrollbars in IE8 (overflow:hidden not working)删除 IE8 中的页面滚动条(溢出:隐藏不起作用)
【发布时间】:2012-03-21 15:17:33
【问题描述】:

应用这个

overflow:hidden;

到我的文档正文在 IE8 中无效。任何想法为什么?

【问题讨论】:

    标签: css internet-explorer-8


    【解决方案1】:

    这取决于 IE8 是以标准模式还是 Quirks 模式呈现页面。例如,以下 HTML 将不带滚动条显示:

    <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd">
    <html xmlns="http://www.w3.org/1999/xhtml" xml:lang="en-US" lang="en-US">
        <head>
            <title>test</title>
        </head>
        <body>
            <p>hello</p>
        </body>
    </html>
    

    但是如果你删除 doctype 声明,IE8 会以 Quirks 模式呈现页面:

    <html>
        <head>
            <title>test</title>
        </head>
        <body>
            <p>hello</p>
        </body>
    </html>
    

    您也可以通过使用开发人员工具强制呈现模式来检查这一点。在页面上按 F12,在菜单栏的末尾(出于某种原因......)有一个“文档模式”设置。在此处切换标准和怪癖也应该切换滚动条。

    所以...您需要使您的页面符合 HTML 标准!它不需要是 XHTML Strict,它可以是 HTML 4,如果你真的必须的话,甚至可以是 XHTML Transitional。

    W3C Validator 可以帮助您解决任何验证错误。

    【讨论】:

      【解决方案2】:

      一定是别的,因为我刚刚在这个stackoverflow页面的HTML元素上应用了overflow:hidden,滚动条就消失了。

      你能发布更多的css或代码吗?

      编辑:我也在 body 元素上尝试过,它也有效.. 没有滚动条了。

      【讨论】:

      • 我用来隐藏滚动条的代码就是:document.body.style.overflow = 'hidden';当我使用 IE8 开发者工具检查时,我看到了应用的样式,但它没有明显的效果。
      • 你可以使用这个stackoverflow页面上的开发者工具并在这里应用样式,看看它是否有效? (也许你设置了一些奇怪的浏览器选项)
      • 但我的第一个猜测是您页面上的其他内容推翻了设置。
      【解决方案3】:

      添加这个 IE hack:

       max-height: none\9 
      

      【讨论】:

        猜你喜欢
        • 1970-01-01
        • 2016-06-22
        • 1970-01-01
        • 1970-01-01
        • 2018-02-21
        • 2014-04-23
        • 2022-11-30
        • 2013-08-24
        • 1970-01-01
        相关资源
        最近更新 更多