2014-03-20 3 views
8

У меня есть несколько страниц, которые я бы хотел настроить, чтобы по умолчанию печать по умолчанию была в формате A4, а в некоторых случаях - в A3.Могу ли я использовать CSS для настройки разных типовых страниц печати по умолчанию для разных страниц

На основании ответа в css print styling я попытался установить следующее в файле print.less

@media print{ 

    .print-portrait-a3 { 
    @page { 
     size: A3 portrait; 
     margin: 0.5cm; 
    } 
    } 

    .print-landscape-a4 { 
    @page { 
     size: A4 landscape; 
     margin: 0.5cm; 
    } 
    } 

    .print-portrait-a4 { 
    @page { 
     size: A4 portrait; 
     margin: 0.5cm; 
    } 
    } 
} 

Я затем положить .print-портрет-A3 классы и т.д. в верхней части страницы разделы, которые я печатаю, чтобы заставить их печатать на разные размеры страниц.

Однако я не могу заставить это работать - в зависимости от того, какой последний стиль в моем CSS является тем, который используется всеми страницами.

Я только на самом деле начинаю с CSS (возможно, очевидно, что у меня нет большой подсказки), поэтому было бы полезно получить объяснение, чтобы разобраться в моих недоразумениях.

Я использую нефрит и самонастройки

ответ

1

Я не думаю, что вы можете гнездо CSS под DIV, только под запрос СМИ. Вот некоторый непроверенный код адаптирован из http://www.w3.org/TR/css3-page/#page-size-prop:

/* style sheet for "A4" printing */ 
@media print and (width: 21cm) and (height: 29.7cm) { 
    @page .print-landscape-a4 { 
     margin: 3cm; 
     size: A4 landscape; 
    } 
} 

Вы также можете посмотреть на https://stackoverflow.com/a/14621368/1584531

Смежные вопросы