Я пытаюсь быстро создать таблицу стилей печати, где я хотел бы удалить элемент из печати, но все равно вынудить дочерний элемент.Скрыть контейнер, но показать содержимое
<div class="container print-hide">
<p class="content print-show">
Some content
</p>
</div>
Я надеялся, что гуру CSS там будет лучше, чем я. В этом случае я хочу удалить весь стиль элемента (в этом случае контейнер), но все равно покажет вложенный элемент (содержимое).
@media print {
.print-hide { display:none; }
.print-show { /* magic */ }
}
@media screen {
}
Я могу только быстро думать о 3-х подходов, каждый из которых не желательны:
Вставить двойное содержание в HTML. С вложенными элементами, которые имеют класс print-show, отображаются там, где они будут отображаться, и спрятать их на экране.
Использование JS и открыть содержимое в новом окне/IFRAME, зачистки из элементов, которые мы хотим напечатать
Не используйте классы и зачистите части мне не нравится в CSS:
@media print{ .container { /* remove unwanted styling */ } }
Действительно, это невозможно, так как это противоречит естественной структуре CSS, любой элемент с 'display: none' применяется к потомкам, потомки не могут переопределить предка. – vol7ron