Css 标识未出现在媒体打印中-IE8

Css 标识未出现在媒体打印中-IE8,css,internet-explorer-8,cross-browser,less,Css,Internet Explorer 8,Cross Browser,Less,我已经试着解决这个问题两个小时了,但是运气不好。less代码片段在除IE8之外的所有浏览器中都可以正常工作。我检查了IE8支持的:在之后和:在之前 我使用的是标准的IE8 doctype,使用的是HTML5 shiv,但也没有在兼容模式下运行它 @media print { .app-header .large-header { .logo span, h1, .

我已经试着解决这个问题两个小时了,但是运气不好。
less
代码片段在除IE8之外的所有浏览器中都可以正常工作。我检查了IE8支持的
:在
之后和
:在
之前

我使用的是标准的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不支持打印内容url。解决方法是改用图像。

IE8不支持媒体查询此:
@media print{}
不受支持

为IE8创建一个单独的css,并在HTML中放入如下条件:

<!--[if lt IE 9]>
<link rel="stylesheet" type="text/css" media="all" href="style-ie.css"/>
<![endif]-->

你自己看看吧

可以使用动态HTML(DHTML)表达式代替前面的 价值。从Windows Internet Explorer 8开始,表达式不可用 支持IE8标准模式。有关详细信息,请参见关于 动态特性


我不知道您的标记,但是否可以选择删除徽标的背景图像并使用实际的
标记


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

“IE8绝对支持媒体打印。它是工作和拿起所有的风格,除了标志。问题出在其他地方。在主样式表中有一个额外的打印样式表或打印样式不会导致IE8出现问题。问题在于,当IE8使用
:before
伪类实现时,它将无法显示徽标。除此之外,我也总是选择IE8特定的样式表,以覆盖在这个浏览器中不起作用的内容(如果我必须支持的话)。