从@import加载的打印样式表不起作用?

时间:2011-10-16 06:43:29

标签: css printing internet-explorer-8

我有以下html:

<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml">
<head>
    <title></title>
    <link href="main.css" rel="stylesheet" type="text/css" />
</head>
<body>
    <span class="print">Print only</span> - <span class="noprint">Display Only</span>
</body>
</html>

的main.css

@import url("screen.css") screen;
@import url("print.css") print;

screen.css

.print
{
    display:none;
}

print.css

.noprint
{
    display: none;
}

span.print
{
    display: inline !important;
}

div.print
{
    display: block !important;
}

当我在浏览器中查看页面时,按预期显示“仅显示”范围,而“仅打印”范围则不显示。

但是,当我去打印预览或打印页面时,它似乎没有使用print.css?

我正在使用IE8,我认为支持@import?

1 个答案:

答案 0 :(得分:2)

显然IE不支持@import行末尾的“print”。 请改用:

@import url("screen.css");
@import url("print.css");

然后将“@media”规则添加到样式表本身。

@media print
{

    .noprint
    {
        display: none !important;
    }

    span.print
    {
        display: inline !important;
    }

    div.print
    {
        display: block !important;
    }

}