2011-07-01 36 views
2

我有以下HTML添加到CSS类的DHTML行为。以下列方式编写代码时,Internet Explorer(兼容模式下的版本8)也会读取@media打印,而不是仅使用顶部样式。为什么IE使用media = print CSS的样式?

<!--[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

它应用所有的属性还是只应用边界半径?尽管存在媒体查询内容,但可能会始终执行该行为 – Gerben

回答

0

IE8使用打印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"> 
相关问题