Хорошие правила для настройки print css?

Я ищу любые предложения / правила / руководства по созданию достойного css для печати, когда печатается веб-страница. У вас есть что предложить?

Приемы CSS-макетирования - floats и Flexbox
Приемы CSS-макетирования - floats и Flexbox
Здравствуйте, друзья-студенты! Готовы совершенствовать свои навыки веб-дизайна? Сегодня в нашем путешествии мы рассмотрим приемы CSS-верстки - в...
Введение в CSS
Введение в CSS
CSS является неотъемлемой частью трех основных составляющих front-end веб-разработки.
Как выровнять Div по центру?
Как выровнять Div по центру?
Чтобы выровнять элемент <div>по горизонтали и вертикали с помощью CSS, можно использовать комбинацию свойств и значений CSS. Вот несколько методов,...
Навигация по приложениям React: Исчерпывающее руководство по React Router
Навигация по приложениям React: Исчерпывающее руководство по React Router
React Router стала незаменимой библиотекой для создания одностраничных приложений с навигацией в React. В этой статье блога мы подробно рассмотрим...
Система управления парковками с использованием HTML, CSS и JavaScript
Система управления парковками с использованием HTML, CSS и JavaScript
Веб-сайт по управлению парковками был создан с использованием HTML, CSS и JavaScript. Это простой сайт, ничего вычурного. Основная цель -...
CSS: FlexBox
CSS: FlexBox
Ранее разработчики использовали макеты с помощью Position и Float. После появления flexbox сценарий полностью изменился.
21
0
12 871
6
Перейти к ответу Данный вопрос помечен как решенный

Ответы 6

Следите за фоновыми изображениями и цветами. Я думаю, что поведение IE по умолчанию - не распечатывать фоновые изображения или цвета.

У вас есть этот старый, но все еще актуальный статья Эрика Мейера в отдельном Списке.

Главное - начать все сначала, явно установив границы и поля / отступы на 0, белый фон и «не отображать» для любых несущественных элементов для печати (например, некоторых меню).

<link rel = "stylesheet"
   type = "text/css"
   media = "print" href = "print.css" />

body {
    background: white;
    }

#menu {
    display: none;
    }

#wrapper, #content {
    width: auto; 
    margin: 0 5%;
    padding: 0; 
    border: 0;
    float: none !important;
    color: black; 
    background: transparent;
    }

И идти оттуда.

Ответ принят как подходящий

Вот несколько общих стилей печати, которые можно использовать для улучшения качества печати:

/* Print styles */
@media print 
{
    tr, td, th {page-break-inside:avoid}
    thead {display:table-header-group}
    .NoPrint {visibility:hidden; display:none}
    a {color:#000000}
}

Верхний предотвращает разрывы страниц внутри строки таблицы

Стиль thead заставляет любые строки в теге thead повторяться для каждой страницы, охватываемой таблицей.

NoPrint - это класс, который я использую для отображения чего-либо на экране, но не для печати.

И мне нравится отключать цвета ссылок.

+1 полезный ответ и для меня

Jitendra Vyas 05.03.2010 07:06

.NoPrint может быть удобен, но он смешивает презентацию с вашим HTML, что не идеально. Лучше иметь блок «без печати» в вашем CSS-файле для печати и использовать сгруппированный селектор для добавления к нему элементов по их существующим классам, именам элементов и идентификаторам.

Ben Hull 02.06.2011 03:31

Сначала прочтите эту статью из A List Apart (http://www.alistapart.com/articles/goingtoprint/). Они охватывают многие основы, которые вы ищете (расширенные ссылки, побелка и т. д.).

Не полагайтесь на предварительный просмотр печати, обязательно пройдите весь процесс при тестировании макета печати. Чтобы сэкономить бумагу, установите SnagIt или используйте средство записи документов Microsoft XPS. Вы можете печатать прямо на изображение, не тратя впустую бумагу.

Также для длинных статей подумайте о смене шрифта на serif. Статьи в Интернете легче всего читать без засечек (Arial, Verdana), но в печатном варианте попробуйте Times New Roman или Georgia.

Хороший совет по шрифтам - я всегда этого не замечал!

nickf 06.01.2009 17:51

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

  • Установите поля в сантиметрах (дюймах) и размер шрифта в пунктах (как в OpenOffice).
  • Создайте такой класс, как screen или noprint, чтобы можно было легко удалять ненужные материал.
  • Забудьте о причудливом цветном тексте. Черный текст на белом фоне.
  • Подумайте об удалении лишних изображений - они могут не так хорошо выглядеть в черно-белом
  • Удалите подчеркивание из ссылок и сделайте ссылки разумными. Глупо читать «проверить эту страницу», где «это» подчеркнуто. Или, если вы поместите href ссылки после подчеркнутого текста, тогда это может быть более полезно, но выглядит не так красиво, ИМХО.

Одна вещь, которую я обязательно добавлю в свою таблицу стилей печати:

a[href^ = "http://"]:after{
    content: " (" attr(href) ") ";
}

Это записывает фактическую ссылку рядом с текстом ссылки, поэтому люди, которые распечатывают документ, будут знать, куда должна идти ссылка.

Я также сделал свой основной текст более читаемым для печати:

body{
    font: 0.9em/1.5em Georgia, "Times New Roman", Times, serif;
}

Возможно, лучше использовать `a [href ^ = " http "]`, чтобы распечатать href https и http. В любом случае спасибо за подсказку!

rsm 27.08.2016 03:52

Другие вопросы по теме