У меня есть страница с большим количеством данных, таблиц и контента. Я хочу сделать версию для печати, в которой будет отображаться только очень мало избранных вещей.
Вместо того, чтобы писать другую страницу только для печати, я читал о функции CSS для "@media print".
Во-первых, какие браузеры поддерживают его? Поскольку это внутренняя функция, это нормально, если поддерживают только последние браузеры.
Я думал о том, чтобы пометить несколько элементов DOM классом "printable" и в основном применить "display: none" ко всему, кроме тех, что относятся к классу "printable". Это выполнимо?
Как мне это достичь?
EDIT: Это то, что у меня есть до сих пор:
<style type="text/css">
@media print {
* {display:none;}
.printable, .printable > * {display:block;}
}
</style>
Но он скрывает все. Как я могу сделать эти "печатные" элементы видимыми?
EDIT: Попытка теперь отрицательного подхода
<style type="text/css">
@media print {
body *:not(.printable *) {display:none;}
}
</style>
Это выглядит хорошо в теории, однако это не сработает. Может быть, "не" не поддерживает расширенный CSS...