我一直试图解决这个问题2个小时但没有运气。 less
代码段在IE8以外的所有浏览器中均可正常运行。我检查过IE8支持:after
和:before
我正在使用标准的IE8 doctype,使用HTML5 shiv而且还没有在兼容模式下运行它?
@media print {
.app-header .large-header {
.logo span,
h1,
.action-links {
display: none;
}
.logo:before {
content: url('images/logo.png');
position:absolute;
top:0;
left:0;
width:150px;
height:28px;
}
}
}
更新
问题是IE8不支持打印内容网址。解决方法是改为使用图像。
答案 0 :(得分:0)
IE8不支持此媒体查询:不支持@media print {}
。
为IE8创建一个单独的CSS,并在HTML中添加一个像这样的条件:
<!--[if lt IE 9]>
<link rel="stylesheet" type="text/css" media="all" href="style-ie.css"/>
<![endif]-->
亲眼看看https://msdn.microsoft.com/en-us/library/ms530813(v=VS.85).aspx
可以使用动态HTML(DHTML)表达式代替前面的表达式 值(S)。从Windows Internet Explorer 8开始,表达式不是 在IE8标准模式下受支持。有关更多信息,请参阅关于 动态属性。
答案 1 :(得分:-1)
我不知道您的标记,但可以选择删除徽标的背景图片并使用实际的<img>
标记吗?
这样你就不需要为打印页面改变很多样式了。你还应该记住,那里有很多打印机,默认情况下禁用背景图像和背景颜色!