Заголовки страниц CSS - как использовать поля печати? - PullRequest
10 голосов
/ 03 декабря 2010

Я могу получить заголовок для печати на каждой странице, но я новичок в печати полей. Я думал, что @page CSS будет работать, но, похоже, это не влияет на поля страницы. Если я устанавливаю поля в теле, это работает на первой странице, но на последующих страницах верхнее поле по умолчанию начинается с верхнего колонтитула поверх текста.

<style>  
.header {  
 position: fixed;  
 top: 0;  
}  
@page {  
 size: 11in 17in;  
 margin-left: 1in;  
 margin-right: 1in;  
 margin-top: 1in;  
 margin-bottom: 1in;  
} 
</style>

<body>  
<span class=header>This is the header</span>  
This is the text of the document. (repeat until I get to page 2)  
</body>

Ответы [ 2 ]

9 голосов
/ 29 декабря 2010

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

Краткий ответ - избегать печати HTML / CSS, если вам нужно обеспечить определенный макет,Используйте PDF, возможно, динамически генерируемый по требованию.Существуют различные API генератора PDF, такие как iTextSharp.Печать из Flash возможна, но только если Flash установлен и работает (то есть без Flashblock, iOS).

Печать HTML / CSS должна быть ограничена простыми макетами.Печать форм - это кошмар с поддержкой fieldset & legend, что особенно проблематично (особенно в Firefox).Интересно, что поддержка печати лучше всего подходит для интернет-исследователей.

Спецификация поддержки печати CSS3 еще не завершена и у нее немного времени.

Общие принципы:

  • Не поддерживаются фоновые изображения или фоновые CSS-изображения (по умолчанию - пользователи могут изменять настройки своего браузера для приложения интрасети).Печатаются только изображения переднего плана.

  • Ширина должна быть плавной, поскольку размеры страниц меняются по всей планете.Формат US Letter короче и шире формата A4

  • Все браузеры поддерживают печать по-разному.Ошибки легион.

  • Тест с использованием предварительного просмотра.

1 голос
/ 28 июля 2015

Принятый ответ, которому сейчас 4 1/2 года, гласит:

"Краткий ответ - избегать печати HTML / CSS, если вам нужно обеспечить определенный макет."

В наши дни вы можете печатать HTML / CSS для сравнительно простых макетов в браузерах или если вы используете инструмент, подобный wkhtmltopdf, вы можете использовать более сложные макеты. Смотри также http://www.toccon.com/toc2013/public/schedule/detail/26714

...