Печать таблицы стилей, загруженной из @import, не работает? - PullRequest
0 голосов
/ 16 октября 2011

У меня есть следующий 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, который, как я думал, поддерживается @импорт

1 Ответ

2 голосов
/ 18 октября 2011

Очевидно, что IE не поддерживает «печать» в конце строки @import. Используйте это вместо:

@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;
    }

}
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...