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

Can*_*nna 1 css internet-explorer

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

用了这个,

@media print
{
    #top_area { display: none; }
    #left_area { display: none; }
    #buttom_area { display: none; }
    #contents_area { display: block; }
}
Run Code Online (Sandbox Code Playgroud)

它在 chrome 和 IE9 上运行良好。

但问题出在IE8下。

它只是立即关闭浏览器:(

有什么好的解决办法吗?

ctr*_*del 5

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

如果您使用该@media print指令为现代浏览器提供打印样式表,您可以利用Internet Explorer 的条件注释来定位特定版本的 IE 并向它们提供打印样式表。当然,您需要有一个单独print.css的 IE 版本才能使用。

例如,在您的 HTML 中<head>

<!--[if lt IE 9]>
<link rel="stylesheet" type="text/css" media="print" href="print.css" />
<![endif]-->
Run Code Online (Sandbox Code Playgroud)

此代码片段表示,“如果我是 IE9 之前的 Internet Explorer 版本,请使用此打印样式表”。IE9 及更高版本将不使用此样式表。

通过这种方式,理解该@media指令的现代浏览器不会对打印样式表进行额外的 http 请求,同时为不支持@media.