Почему я не могу изменить состояние отображения с помощью CSS? - PullRequest
1 голос
/ 02 апреля 2009

Я пытаюсь отобразить баннер в отчете во время печати, но он не печатается. Я установил состояние отображения display:none в своем обычном CSS

.
#transfer_head2
{
display:none;
}

и я изменил состояние отображения на display:block в моем распечатанном CSS

#transfer_head2
{
display:block;
}

но это не работает. Зачем? Кто-нибудь может мне помочь?

Ответы [ 5 ]

7 голосов
/ 02 апреля 2009

Проверьте порядок ваших файлов CSS и определенных носителей. Ваш print.css должен стоять последним, чтобы он мог переопределить любой CSS с media=all. Используя Firefox с плагином Web Developer, вы можете изменить CSS в вашем браузере так, чтобы он отображался как печатный носитель. Возможно, вы захотите попробовать это в сочетании с возможностями проверки Firebug, чтобы увидеть, откуда CSS применяется.

4 голосов
/ 02 апреля 2009

Возможно, ваш display: none перезаписан другим свойством, определенным позже. Попробуйте! Важный

display:block !important;
3 голосов
/ 02 апреля 2009

Является ли #transfer_head2 a TABLE? Если это так, вам нужно использовать:

#transfer_head2 { display: table; }

Это TR?

#transfer_head2 { display: table-row; }

Это TD или TH? Тогда это следующее:

#transfer_head2 { display: table-cell; }

Обратите внимание, что они не поддерживаются в IE6 или ниже. В этом случае вы можете использовать что-то вроде следующего:

@media screen {
    #transfer_head2 { height: 1px; width: 1px; overflow: hidden; visibility: hidden; }
}

@media print {
    #transfer_head2 { height: 60px; width: 468px; visibility: visible; }
}

РЕДАКТИРОВАТЬ: Я забыл указать это в своем исходном сообщении, но имейте в виду, что в большинстве конфигураций браузера фоновая печать отключена по умолчанию, поэтому, если у вас в CSS есть что-то вроде следующего:

#transfer_head2 { background-image: url('../image/print_banner.jpg'); }

не будет печататься независимо от режима display. Если вы контролируете конфигурацию браузера пользователя, это не проблема, но в большинстве случаев вы захотите использовать тег IMG для своего баннера.

2 голосов
/ 02 апреля 2009
  • Убедитесь, что div контейнера (если есть) не скрыт
  • Проверьте созданный источник на панели инструментов веб-разработчика, чтобы увидеть унаследованные свойства div.
0 голосов
/ 11 апреля 2009

Не видя код #transfer_head2, трудно сказать, вставьте его в свой вопрос.

Одной из возможных причин может быть то, что вы сделали баннер фоном для элемента #transfer_head2, а в браузерах по умолчанию обычно не печатается фон.

РЕДАКТИРОВАТЬ: тьфу, Эндрю уже покрыл это ...

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