Какие наиболее полезные media="print" специфические, совместимые с браузером свойства css?
Какие самые полезные media="print"
-специфичные, совместимые с браузером свойства CSS?
Я думаю, что у нас есть эти 5 свойств для конкретной печати.
- страниц обкатки перед тем
- страниц обкатки после
- страниц обкатки внутри
- вдовы
- дети сироты
Пожалуйста, объясните, когда и где их использовать? Какие кросс-браузерные совместимы? и какие другие общие свойства CSS могут быть полезны при печати, кроме display:none
?
4 ответа
Я использую знаменитую статью "Отдельный список" ( CSS Design: Going to Print) и эту статью, когда мне нужно сделать версию страницы для печати. Есть несколько общих тегов, но многое зависит от используемой вами модели css (а также от заполнения контейнера и полей):
body {
background: white;
font-size: 12pt;
}
#menu {
display: none;
}
#wrapper, #content {
width: auto;
margin: 0 5%;
padding: 0;
border: 0;
float: none !important;
color: black;
background: transparent none;
}
div#content {
margin-left: 10%;
padding-top: 1em;
border-top: 1px solid #930;
}
div#mast {
margin-bottom: -8px;
}
div#mast img {
vertical-align: bottom;
}
a:link, a:visited {
color: #520;
background: transparent;
font-weight: bold;
text-decoration: underline;
}
#content a:link:after, #content a:visited:after {
content: " (" attr(href) ") ";
font-size: 90%;
}
#content a[href^="/"]:after {
content: " (http://www.alistapart.com" attr(href) ") ";
}
Я использую следующее:
/* Browser will TRY to avoid spanning content within across a page */
tr, td, th {page-break-inside:avoid}
/* Repeat table headers when table spans a page */
thead {display:table-header-group}
/* Apply to anything you don't want to print */
.NoPrint {visibility:hidden; display:none}
Крис Койер из css-tricks.com написал отличную статью на эту тему: http://css-tricks.com/css-tricks-finally-gets-a-print-stylesheet/
В духе обмена, вот пара правил, которые я регулярно использую. Они хорошо вписываются в SemanticUI, но могут быть полезны в других местах
[class*="printed only"] {
display: none;
}
@media print {
.printed {
display: initial !important;
opacity: 1 !important;
}
[class*="non printed"] {
display: none !important;
opacity: 0 !important;
}
}
Показать на экране и распечатать
использование class="printed"
, Это удобно, когда у вас есть вкладки в пользовательском интерфейсе, поэтому вы можете принудительно распечатать их, даже если они не отображаются в данный момент.
Показать на экране, но не печатать
использование class="non printed"
, Это удобно для элементов навигации и других вещей, которые вы не хотите печатать
Не отображать на экране, а печатать
использование class="printed only"
, Я считаю удобным включать в печатную версию некоторые метаданные о веб-странице, которые могут не иметь отношения к веб-версии - например, дату / время создания страницы, имя пользователя человека, который напечатал документ, ссылку (если она удалена из заголовки) и soforth.