Lasse Reichstein Nielsen wrote:
> Desværre opfører browserne sig ikke helt som de skal i det tilfælde.
> Hvis media udelades, så er default "screen" (ikke "all", som ville
> have været logisk). Derfor skal stylesheetet teknisk set ikke bruges
> ved udskrivning (media='print').
Her er jeg så lodret uenig med W3C, men til gengæld enig med producenterne
af browserne. Imho bør default være 'all', når der ikke er defineret noget
specielt.
> Browserne behandler en manglende media-attribut som "all", hvilket
> også er hvad de fleste forventer.
Og sådan fungerer det netop optimalt - imho.
> Når der er forskel på hvad man gør som default når en attribut
> udelades, både mellem browsere og mellem browser og standard, så
> foretrækker jeg at tilføje den for en sikkerheds skyld. Men det
> er ren livrem og seler :)
Nu skal du så passe på, du ikke får strammet selerne så meget, at du bliver
kontratenor. ;)
Ved at definere screen på det ene css-kald og print på det andet, tvinger du
dig selv til at have to fulde css-filer - hver med deres definitioner.
Hvis du nøjes med at definere print på den sidste og lader den første stå
blank, kan du i din printercss nøjes med at indskrive de definitioner, der
på print skal være anderledes end på skærmen - anderledes margener, slukket
menu osv.
Jeg har lavet et par testsider, der illustrerer problematikken.
En side med et blankt css-kald og et kald til print-css:
http://www.hjemmesideskolen.dk/html/testsider/media_-p.asp
En side med et kald til screen-css og et kald til print-css
http://www.hjemmesideskolen.dk/html/testsider/media_sp.asp
Indlæs siderne i en browser og tag en 'Vis udskrift' på dem begge og se
forskellen. Det skal bemærkes, at der benyttes samme print-css på begge
sider.
På skærmen er sidernes layout identiske, det er de ikke på print.
--
Med venlig hilsen
Erik Ginnerskov
http://hjemmesideskolen.dk -
http://html-faq.dk
http://ginnerskov.frac.dk