Tiskalniku prijazna spletna stran

~ 23. februar 2005 ~

Našli ste online članek, ki ste ga želeli natisniti na papir in ga shraniti na staromoden način. Ne se smejat, ker ogromno ljudi še vedno uporablja luknjač in fascikle. Po končanem tiskanju ste bili razočarani, ker spletna stran ni bila tiskalniku prijazna. Na papirju ste videli navigacijske menuje, oglase, zaključek strani, ... vsa ta dekoracija je na papirju dolgočasna in nepomembna. Iz tega sledi, da moramo tudi spletne strani narediti prijazne tiskalnikom, in sicer tako, da se znebimo vseh elementov, ki jih na papirju ne želimo videti. Če vas zanima kako, vas nadaljevanje sigurno ne bo dolgočasilo.

Vse kar moramo storiti je, da ustvarimo novo CSS datoteko za print media tip. CSS lahko definira več media tipov. Med najpomembnejšimi sta screen in print. Prvi je namenjen računalniškemu zaslonu, torej vsemu kar vidite v spletnem brskalniku. Drugi pa predogledu tiskanja na zaslonu in tiskanju na papir. Kako bo spletna stran izgledala na papirju lahko preverite s "Print Preview" v spletnem brskalniku.

Če je spletna stran smiselno sestavljena je izdelava CSS-ja za tiskanje zelo enostavna. Za začetek se moramo znebiti vseh elementov, ki so nesmiselni za papir ali jih na papirju ne želimo videti. Ker na papirju ne moremo klikati po menujih, oglasih, ipd., jih lahko odstranimo s preprostim CSS pravilom.

Na primer, da je navigacijski menu v <div ID="menu"> ga preprosto odstranimo s pravilom:

  1. #menu {
  2. display: none;
  3. }

S tem pravilom skrijemo in odstranimo menu iz dokumenta. Na podoben način lahko odstranimo vse ostale elemente, ki jih ne potrebujemo.

Ko smo skrili vse elemente, se lotimo še barv. Ker že nekaj časa poznamo barvne tiskalnike lahko barve pustimo ali pa jih spremenimo. Sam jih raje spremenim. Oprijel sem se dolgočasne klasike, in sicer črno na belo (bela za ozadje in črna za tekst). Ne pozabimo odstraniti še slik, ki jih uporabljamo za ozadja.

  1. body {
  2. background-color: #fff;
  3. color: #000;
  4. }

Pametno je razmisliti tudi o spremembi enote mere, za velikost pisave, in sicer v pt (pike), ker je to za tiskanje bolj primerno.

Podobno je s širino in višino. Najboljše se obnese, če odstranimo vse fiksne mere, ki smo jih nastavili zaradi prikazovanja na ekranu (razen v primeru, ko se vsebina lahko razširi čez cel ekran). Ko smo odstranli širino bo pri tiskanju za to poskrbel tiskalnik s svojimi nastavitvami. Z uporabo margin pa lahko spremenimo tudi širino in višino papirja:

  1. body {
  2. margin: 20pt 30pt;
  3. background-color: #fff;
  4. color: #000;
  5. font-size: 12pt;
  6. }

Zdaj pa še nekaj besed o povezavah. Ker povezave na papirju nimajo enake funkcije kot v spletnem brskalniku jih lahko preprosto zlijemo s preostalim tekstom ali pa jih pustimo samo podčrtane. Za vse tiste, ki poznajo CSS-ju bolj prijazne spletne brskalnike (FireFox, Opera, Safari, ...) kot je IE, pa še en bombonček. Z nasledjimi pravili povezavam dodamo še URL na katerega kažejo:

  1. a:link, a:visited {
  2. color: #000;
  3. text-decoration: underline;
  4. }
  5. a:link:after, a:visited:after {
  6. font-size: 10pt;
  7. content: " [" attr(href) "]";
  8. font-size: 10pt;
  9. }
  10. a[href^="/"]:after {
  11. content: " [http://www.domena.com" attr(href) "]";
  12. }

Če se povezava začne z / (ponavadi uporabljamo za notranje strani) se doda še domena, ki smo jo sami izbrali (www.domena.com). Vendar še enkrat opozarjam, da bo IE (trenutno 6.0) vsa ta pravila ignoriral in povezave bodo brez URL naslova.

Za konec nam ostane samo še, da našo novo CSS datoteko vključimo v spletno stran za katero želimo, da je tiskalniku prijazna. Pri tem ne smemo pozabiti, da moramo CSS datoteko, katero uporabljamo za zaslon, nastaviti na screen media tip.

  1. <link rel="stylesheet" type="text/css" href="zaslon.css" media="screen" />
  2. <link rel="stylesheet" type="text/css" href="tiskalnik.css" media="print" />

Če ste se uspešno prebili do konca, bi moralo to, kar sem napisal, zadostovati za dolgočasen izgled spletne strani na papirju.

 

Komentarji

Robert ~ 5. marec 2005 ob 20:30

Jaz dispay:none uporabljam kot preloader za majhne slikce, ki so del layouta.

Matej ~ 9. marec 2005 ob 23:59

Robert: mislim, da to ni najboljsa varianta, ker se layout zato ne nalaga dovolj hitro... boljse bi bilo ubrati kaksno drugo "CSS" pot.
Poglej si tole:
http://www.w3schools.com/css/pr_class_display.asp

Robert ~ 14. marec 2005 ob 14:07

Ma, ni to nekaj velikega. Zgolj 10kB. Ampak bom vseeno prebral tvoj predlog.

free online texas hold em ~ 27. januar 2006 ob 12:09

free online texas hold em Heh. How it goes? Buy it all. ASAP. Last discount in your live (AAAAA!!!!!). Take a rest.

wholesale diamonds ~ 8. februar 2006 ob 13:38

wholesale diamonds Heh. How it goes? Buy it all. ASAP. Last discount in your live (AAAAA!!!!!). Take a rest.

Dodaj svojo modrost

Dodaj komentar, predlog ali kakšno dolgočasno misel. Ime, epošta in komentar so obvezni. Vaša epošta je varna in ne bo prodana najvišjemu ponudniku na Bolha.com!