@media print在IE 8,7中不起作用

时间:2013-08-30 04:10:04

标签: css internet-explorer

我在这里搜索,并试图只打印我想要的div。

用过这个,

@media print
{
    #top_area { display: none; }
    #left_area { display: none; }
    #buttom_area { display: none; }
    #contents_area { display: block; }
}

它在Chrome和IE9上运行良好。

但问题出在IE8下。

它立即关闭了浏览器:(

有什么好的解决方案吗?

3 个答案:

答案 0 :(得分:4)

IE9 之前的Internet Explorer版本不支持媒体查询

如果您使用@media print指令为现代浏览器提供打印样式表,则可以利用Internet Explorer's conditional comments来定位特定版本的IE并向其提供打印样式表。当然,您需要为这些版本的IE使用单独的print.css

例如,在您的HTML <head>

<!--[if lt IE 9]>
<link rel="stylesheet" type="text/css" media="print" href="print.css" />
<![endif]-->

此代码段显示“如果我是IE9之前的IE浏览器版本,请使用此打印样式表”。 IE9及更高版本不会使用此样式表。

这样,了解@media指令的现代浏览器可以获得没有针对打印样式表的额外http请求的好处,同时为不支持@media的浏览器提供后备。

答案 1 :(得分:2)

Windows Internet Explorer 9引入了对媒体查询的支持。这就是为什么它在IE 8中不起作用的原因

答案 2 :(得分:0)

IE8不支持此功能。 IE8 support for CSS Media Query建议了可能的解决方法。希望这可以帮助。 : - )