为什么IE使用来自media = print CSS的样式?

时间:2011-07-01 18:27:00

标签: css dhtml html-components

我有以下HTML,其中有一个DHTML行为添加到CSS类。当代码以下列方式编写时,Internet Explorer(兼容模式下的版本8)也会读取@media打印,而不是仅使用顶级样式。

<!--[if IE]>
<style>
.roundCorners {
border: 1px solid #b4b4b4;
-moz-border-radius: 5px;
-webkit-border-radius: 5px;
border-radius: 5px;
background: #fff;
behavior: url(/css/border-radius.htc);
}

@media print {
.roundCorners {
 border: 5px solid #b4b4b4;
 -moz-border-radius: 5px;
 -webkit-border-radius: 5px;
 border-radius: 5px;
 background: #fff;
 behavior: url(/css/border-radius_remove.htc);
}
}
</style>
<![endif]--> 

1 个答案:

答案 0 :(得分:0)

IE8正在使用打印CSS而不是媒体CSS,因为打印CSS是内联的,而不是来自外部文件。这段代码会有所帮助。

<style type="text/css" rel="stylesheet" href="stylesheet_media.css" screen="media">
<style type="text/css" rel="stylesheet" href="stylesheet_print.css" screen="print">