2013-04-30 19 views
24

Buduję aplikację internetową, która oddziałuje z dokumentami w celu późniejszego drukowania. W niektórych punktach jest podobny do Dokumentów Google. Rozważam użycie cm/mm na CSS moich stron dokumentów, ponieważ pomoże mi to w generowaniu dokumentów. Przykład:Używanie cm/mm w CSS aplikacji internetowej, która replikuje interakcję z papierem, jest dobrą praktyką?

// A4 size 
.page { 
    width: 210mm; 
    height: 297mm; 
    margin: 2cm 5cm; 
} 
<div class="page"> 
    ... 
</div> 

Jakie są główne kwestie po to podejście?

Odpowiedz

24

W3C ma świetny post na temat CSS units. W szczególności:

cm: Nie zaleca się do ekranu/zalecany do druku

Tzw jednostki absolutne (cm, mm, PT i PC) znaczy to samo w CSS jak wszędzie indziej. Długość wyrażona w dowolnym z nich pojawi się jako dokładnie taki rozmiar (w ramach precyzji sprzętu i oprogramowania). Nie są zalecane do użytku na ekranie, ponieważ rozmiary ekranu różnią się tak bardzo. Duży ekran może mieć 60 cm (24 cali), a mały, przenośny ekran może mieć tylko 8 cm. I nie patrzysz na nie z tej samej odległości.

Jedynym miejscem, w którym można ustawić opcję pt (lub cm lub in) w ustawianiu rozmiaru czcionki, są arkusze stylów do drukowania, jeśli trzeba się upewnić, że czcionka jest dokładnie określonego rozmiaru. Ale nawet tam użycie domyślnego rozmiaru czcionki jest zwykle lepsze.

+7

Ten artykuł jest całkiem niezły i już to przeczytałem. Ale moim problemem jest to, że będę używał cm/mm nie tylko do drukowania (np. @media print), ale do całej aplikacji. Ale ponieważ chcę, aby ekran i druk były w 100% identyczne, mam wątpliwości, że cm/mm nie jest najlepszym podejściem. –

+0

Co zasugerujesz dla szerokości i wysokości OP dla strony? Wiemy, że strona dinA4 ma "297 mm" wysokości. Przekształcenie tego w piksele, ponieważ "cm nie jest zalecane" wydaje się bardzo dziwne. – Blauhirn

+0

@ Blauhirn Może coś względnego, np. 'Height: 100%; width: 100% ', a następnie oddzielny arkusz stylów do drukowania. –