Sobes.tech
Middle

Kako možete optimizovati stranice za štampu?

sobes.tech АИ

Одговор од АИ

Za optimizaciju stranica za štampu koristim @media print u CSS. U njemu skrivam elemente koji nisu potrebni pri štampanju (navigacija, podnožja, bočni paneli), menjam stilove radi bolje čitljivosti (veličina fonta, razmaci), uklanjam pozadinske slike i senke. Takođe dodajem prekide stranica pomoću break-before, break-after i kontrolišem orijentaciju pomoću @page. Mogu koristiti posebne klase, poput .no-print, za brzo skrivanje elemenata.

Evo nekoliko primera:

/* Skrivanje elemenata koji nisu potrebni pri štampanju */
@media print {
  nav, footer, aside {
    display: none;
  }
}
/* Poboljšavanje izgleda radi bolje čitljivosti */
@media print {
  body {
    font-size: 12pt;
    line-height: 1.5;
    color: #000; /* Crni tekst za bolji kontrast */
  }
  a {
    color: #000; /* Uklanjanje plave boje linkova */
    text-decoration: none;
  }
  /* Dodavanje URL-ova linkova nakon teksta */
  a[href]:after {
    content: " (" attr(href) ")";
  }
  /* Skrivanje pozadinskih slika */
  * {
    background: transparent !important;
    box-shadow: none !important;
    text-shadow: none !important;
  }
}
/* Kontrola prekida stranica */
@media print {
  h2 {
    break-before: page; /* Početak nove stranice pre svakog h2 */
  }
}
/* Definisanje orijentacije stranice */
@page {
  size: A4 portrait; /* ili landscape */
  margin: 1cm; /* Margine */
}

Za složenije prilagođavanje ili dodavanje informacija (npr. brojeva stranica, zaglavlja i podnožja), može se koristiti direktiva @page. Takođe, neki specifični stilovi (kao što je position: fixed) mogu se ponašati nepredvidivo pri štampanju i zahtevaju posebne pravila za @media print.

Važno je testirati rezultat štampe u različitim pregledačima.