在我的网页中,我使用了2个样式表:
<link rel="stylesheet" href="css/screen-layout.css" media="screen" type="text/css" />
<link rel="stylesheet" href="css/print-layout.css" media="print" type="text/css" />
在print-layout.css
内有:
.ui-dialog * {display: none !important;}
当我在IE7上查看我的网页时,它应该忽略media="print"
一个,但它没有,它应用display: none
,导致所有元素被隐藏。在IE7的debugbar插件中,我可以看到IE7应用了print-layout.css
文件。怎么可能?或者我是否遗漏了在IE7上使用打印的任何要求?
谢谢:)
答案 0 :(得分:4)
该语法甚至可以在IE7上运行,但如果您需要将该浏览器排除在应用您的打印样式之外,只需以这种方式重写您的最后一个包含:
<style type="text/css" rel="stylesheet">
@import url('css/print-layout.css') print;
</style>
因为IE7尚未在@import
规则上实现媒体类型。
否则只需将第二个包含包装在条件注释中,如此
<!--[if (gte IE 8)]><!-->
<link rel="stylesheet"... media="print" />
<!--<![endif]-->
所以你要包括除IE < 8
以外的所有浏览器的打印样式。
作为旁注:IE7的使用是全球< 1%
:
见http://gs.statcounter.com/#browser_version-ww-monthly-201211-201304