Я хотел бы сделать печатную версию моей веб-страницы. Я уже пробовал использовать CSS, чтобы создать отдельную таблицу стилей для страницы, но она не работает должным образом (т. Е. Она не избавится от поля вверху, и фон в строке меню не исчезнет.) Страница состоит из сотен таблицы, и когда я делаю предварительный просмотр, они также иногда разрываются между страницами.
эти таблицы генерируются динамически в соответствии с выборами пользователей в флажках, возможно ли добавить ссылку для печати, которая будет отображать содержимое с текущей страницы и помещать ее на страницу, где может быть сумасшедшим больше для печати?
Нет необходимости в двух разных страницах. Вы должны создать другой лист CSS. После того, как вы скопируете существующий, просто установите все в черно-белом (или несколько цветов, если они вам действительно понадобятся), удалите любые меню и элементы, которые вам не нужны, разместив display: none;
в своей декларации CSS и избавиться от нежелательных полей. Вы должны просто поместить margin: 0
или margin-top: 0
декларация здесь и там. Если вы не показываете свой HTML и CSS-код, сложно быть более конкретным.
Вы можете сделать версию для @media print
вашей страницы с помощью @media print
@media print { your styles here }
Например, в Foundation у них есть основные правила, к которым вы можете добавить что-нибудь свое:
@media print { * { background: transparent !important; color: black !important; text-shadow: none !important; filter:none !important; -ms-filter: none !important; } /* Black prints faster: sanbeiji.com/archives/953 */ pa, pa:visited { color: #444 !important; text-decoration: underline; } pa[href]:after { content: " (" attr(href) ")"; } abbr[title]:after { content: " (" attr(title) ")"; } .ir a:after, a[href^="javascript:"]:after, a[href^="#"]:after { content: ""; } /* Don't show links for images, or javascript/internal links */ pre, blockquote { border: 1px solid #999; page-break-inside: avoid; } thead { display: table-header-group; } /* css-discuss.incutio.com/wiki/Printing_Tables */ tr, img { page-break-inside: avoid; } @page { margin: 0.5cm; } p, h2, h3 { orphans: 3; widows: 3; } h2, h3{ page-break-after: avoid; } .hide-on-print { display: none !important; } .print-only { display: block !important; } }
Используйте CSS с правилами @media
. Определите свои стили для отображения на экране с помощью экрана @media screen
и @media print
для печати. Управляющая страница разбивается на атрибуты page-break-*
.
@media screen { body { background-image: url(/images/background.png); } } @media print { body { background-image: none; } tr { page-break-inside: avoid; } }
Самый простой способ – создать еще одну таблицу стилей для печатной версии и добавить атрибут media="print"
в <link/>
для него.