Подтвердить что ты не робот

Печать номеров страниц на страницах при печати html

Я прочитал много веб-сайтов о печати номеров страниц, но все же я не мог отобразить его на моей странице html при попытке распечатать его.
Итак, следующий код CSS:

@page {
  margin: 10%;

  @top-center {
    font-family: sans-serif;
    font-weight: bold;
    font-size: 2em;
    content: counter(page);
  }
}

Я попытался установить правило этой страницы внутри

@media all {
    *CSS code*
}

И вне его попытался поместить его в @media print, но ничто не помогло мне отображать номера страниц на моей странице. Я пытался использовать FireFox и Chrome (на основе WebKit, как вы знаете). Я думаю, проблема в моем коде html или css. Может ли кто-нибудь показать мне пример реализации этого правила @page на большой странице html с несколькими страницами? Мне просто нужен код html-страницы и код css файла, который работает.
Постскриптум У меня есть последние поддерживаемые версии браузеров.

4b9b3361

Ответ 1

Поскольку @page с номерами страниц не работают в браузерах, я искал альтернативы.
Я нашел ответ, опубликованный Оливером Коллом.
Я опубликую это здесь, чтобы каждый мог найти его легче:
Для этого ответа мы не используем @page, который является чистым ответом CSS, но работаем в версиях FireFox 20+. Вот ссылка примера.
CSS это:

#content {
    display: table;
}

#pageFooter {
    display: table-footer-group;
}

#pageFooter:after {
    counter-increment: page;
    content: counter(page);
}

А HTML-код:

<div id="content">
  <div id="pageFooter">Page </div>
  multi-page content here...
</div>

Таким образом, вы можете настроить номер своей страницы, отредактировав параметры в #pageFooter. Мой пример:

#pageFooter:after {
    counter-increment: page;
    content:"Page " counter(page);
    left: 0; 
    top: 100%;
    white-space: nowrap; 
    z-index: 20;
    -moz-border-radius: 5px; 
    -moz-box-shadow: 0px 0px 4px #222;  
    background-image: -moz-linear-gradient(top, #eeeeee, #cccccc);  
  }

Этот трюк отлично сработал. Надеюсь, это поможет вам.

Ответ 3

Это то, что вы хотите:

@page {
   @bottom-right {
    content: counter(page) " of " counter(pages);
   }
}

Ответ 4

   **@page {
            margin-top:21% !important; 
            @top-left{
            content: element(header);

            }

            @bottom-left {
            content: element(footer
 }
 div.header {

            position: running(header);

            }
            div.footer {

            position: running(footer);
            border-bottom: 2px solid black;


            }
           .pagenumber:before {
            content: counter(page);
            }
            .pagecount:before {
            content: counter(pages);
            }      
 <div class="footer" style="font-size:12pt; font-family: Arial; font-family: Arial;">
                <span>Page <span class="pagenumber"/> of <span class="pagecount"/></span>
            </div >**