徽标没有出现在媒体印刷中 - IE8

时间:2015-08-18 17:04:25

标签: css internet-explorer-8 cross-browser less

我一直试图解决这个问题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不支持打印内容网址。解决方法是改为使用图像。

2 个答案:

答案 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>标记吗?

这样你就不需要为打印页面改变很多样式了。你还应该记住,那里有很多打印机,默认情况下禁用背景图像和背景颜色!