IE9的打印页面上显示滚动条?

Posted

技术标签:

【中文标题】IE9的打印页面上显示滚动条?【英文标题】:Scroll bars showing on printed page in IE9? 【发布时间】:2011-07-12 21:49:00 【问题描述】:

我遇到了 IE9 在打印页面上显示水平滚动条的问题,即使页面内容完全适合。我已经尝试了几件事来在我的打印 css 中删除它们。有没有其他人遇到过这个问题并找到了解决方法?

【问题讨论】:

你试过溢出:隐藏吗? 是的。我还隐藏了页面上的所有内容,滚动条仍然出现。 这是在打印预览中还是在打印页面本身中? 你试过设置滚动条的样式吗?我的猜测是 IE 仍然支持.. 但是你确定你应用了溢出:隐藏到正确的元素吗?或者是在一个框架或什么的?可能是一个带有糟糕 css 的广告? 如果您提供当前问题的链接或屏幕截图,将会有很大帮助。 【参考方案1】:

javascript 函数 print 中的 body 标记上使用以下代码:

printWin.document.write(
  '<style>div overflow: visible !important; height:auto !important;</style>'
);

【讨论】:

【参考方案2】:
@media print

    .dont-print
     
        overflow:hidden;
     


dont-print 只是一个我以前用过的类名,把它改成你需要的任何东西

【讨论】:

【参考方案3】:

我遇到了同样的问题。这是一个有趣的修复。将溢出属性定义为重要。有用。在 IE 上大声笑。

overflow:hidden !important;

【讨论】:

另外值得注意的是,您也可以使用overflow:visible!important;。这也摆脱了滚动条,但 显示 外面的任何内容。【参考方案4】:

过去我曾多次在 IE 上遇到过这个问题。通常是保证金问题。不同的浏览器计算边距的方式不同。你是如何定位元素的?您是否有围绕内容的固定宽度包装器,或者主体是否扩展到浏览器宽度? 没有实际的 css 代码,确实很难查明问题。

我建议您删除所有负边距(IE 不喜欢这些),并检查您是否在不必要的元素上有任何右边距。

【讨论】:

【参考方案5】:

您确定设置了正确的样式表媒体类型吗?喜欢:

<link rel="stylesheet" href="print.css" type="text/css" media="print" />`

并在您的 print.css 中尝试以下操作:

html, body  overflow-x: hidden; 

【讨论】:

你可以试试:html, body overflow: auto;

以上是关于IE9的打印页面上显示滚动条?的主要内容,如果未能解决你的问题,请参考以下文章

打开一个网页,拉那个滚动条,页面就闪烁 为啥啊

我做了个网页,页面已经到底部了,滚动条还可以下拉。

如何隐藏滚动条并使内容可滚动? [复制]

如何能快速知道当前网页滚动条的高度?有工具吗?

具有滚动条的页面 div,需要在打印时显示整个 div 内容

取消IE9触摸滚动事件并调用Mousemove,可能吗?