Заголовки страниц CSS - как использовать поля печати?

Я могу получить заголовок для печати на каждой странице, но я новичок в печати полей. Я думал, что @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>

Ответ 1

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

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

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

Спецификация поддержки печати CSS3 не была завершена и занимает некоторое время.

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

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

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

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

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

Ответ 2

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

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

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