1

Тема: Формат друку сторінки

Умова, потрібно зробити не друкованою всю сторінку за виключенням одного(чи більше) елементу.
Трохи не зрозумілим є принцип використання стилю @media print

2

Re: Формат друку сторінки

Все розібрався:

@media print {
  .noprint { display: none; }
  .print {display: block; }
}
Те що треба ставимо
class="print"
що не треба class="noprint"

Оце значить треба вночі спати, а не страдати над задачами, зранку воно якось швидше получається.

Подякували: Replace, miroslav.chandler2

3

Re: Формат друку сторінки

Потрібно для всіх елементів, які не друкуються проставити display:none;
Або йти від супротивного. Для всіх display: none, а для тих які необхідно показати: display: block;

Приклад:

<!DOCTYPE html>
<html>
<head>
<meta charset="UTF-8">
<title>media print</title>
<style>

#header, #footer, #content {
    border: 1px solid #ccc;
    text-align: center;
    width: 1000px;
    margin: 20px auto;
    padding: 20px;
}

@media print
  {
    #header, #footer {
        display: none;
    }
  }
</style>
</head>

<body>
    <div id="header">
        header
    </div>
    
    <div id="content">
        content
    </div>
    
    <div id="footer">
        footer
    </div>
    
</body>
</html>

4

Re: Формат друку сторінки

text-indent:-9999px; можно и так прописать для этих элементов

Re: Формат друку сторінки

mk802 написав:

text-indent:-9999px; можно и так прописать для этих элементов

На мою думку краще юзати так, як показав Vo_Vik або Replace.

6

Re: Формат друку сторінки

Я колись бачив варіант коли джаваскріптом ховається те що не потрібно, викликається менюшка друку, а потім повертається все назад. Я просто в шоці був, хоча може комусь було ліньки ксс писати, але блін.... хоча до такого тоже треба додуматись :)

7

Re: Формат друку сторінки

Я роблю ось так:
елементи які не треба друкувати я ховаю через цсс.
а всі інші хай залишаються як є.
Це фактично щось середнє між варіантом Вовіка і Реплейса. Так як вовік вказує всім кого треба друкувати у мене тілкьи ті кого не треба друкувати всі інші незмінні)
У Реплейса перераховуються елементи які приховувати. Досить громіздкий селектор може вийти якщо треба приховати 10-20 елементів .
Це особисто моя думка ;)
Як це працює дивіться на сторінках сайту зразок (новина або документ)
У кожного кодера своя реалізація але чим більше ви знаєте варіантів тим краще ;)

Прихований текст

    <!DOCTYPE html>
    <html>
    <head>
    <title>test print page</title>
    <style>
    
    @media print    {
       .noprint {
         display: none; 
      }
    }
    </style>
    </head>
     
    <body>
    <div id="header" class="noprint">
    header
    </div>
    <div id="content">
    content
    </div>
    <div id="footer"  class="noprint">
    footer
    </div>
    </body>
    </html>