LINUXSOFT.cz
Username: Password:     
    CZ UK PL

> CSS (5.) - Média

Dnes se podíváme na práci s různými typy médií v kaskádových stylech.

16.8.2004 13:00 | Vasek | read 18562×

DISCUSSION   

Jednou z nejvýznamnějších vlastností kaskádových stylů je možnost určit formu prezentace dokumentu zvlášť pro různé druhy výstupních medií, např. obrazovku, papír, hlasový syntetizér, výstup v braillově písmu apod.

Tyto výstupní zařízení se označují jako média a v CSS se rozdělují do několika skupin. Jednotlivé typy médií někdy vyžadují různé hodnoty jednotlivých vlastností (např. velikost fontu pro obrazovku je větší než velikost fontu pro tisk). Některé vlastnosti kaskádových stylů jsou vyhrazeny pouze určitým mediím(např. cue-before lze použít jen pro hlasový výstup).

Typy médií

V současnosti lze v kaskádových stylech používat tyto typy médií:

all
všechny typy zařízení
aural
zvukový výstup na hlasovém syntezátoru
braille
braillská dotyková zařízení (braillský řádek)
embossed
stránka zobrazená plastickým tiskem na braillské tiskárně
handheld
obrazovka kapesního počítače (nejčastěji malý monochromatický displej a malá rychlost přenosu dat)
print
stránky vytištěné na tiskárně nebo dokumenty zobrazené na obrazovce v režimu tiskového náhledu
projection
promítané prezentace (velkoplošné projektory či zpětné projektory)
screen
obrazovka počítače (s podporou zobrazení barev a bitmapové grafiky)
tty
neproporční znakový výstup (dálnopisy, terminály atd.)
tv
televizní obrazovka a podobná zařízení (společnými vlastnostmi je nízké rozlišení, omezené možnosti posouvání obrazu a možnost použití barev a zvuku)

Na velikosti písmen v názvech typů medií nezáleží.

Jednotlivá média jsou navzájem neslučitelná. Každý klient musí při zpracování dokumentu podporovat pouze jediný typ médií. Ale není vyloučeno, že klienty mohou obsahovat více modulů (režimů), z nichž podporuje každý jiný typ medií (ale vždy jen jeden jediný).

Skupiny médíí

U každé CSS vlastnosti je stanoveno, pro jaký typ médií se může použít. Jelikož však mnoha vlastnostem odpovídá více médií, vznikly skupiny médíí, které se uvádí u jednotlivých vlastností. Příslušnou vlastnost lze použít pro všechny média patřící do uvedené skupiny. V kaskádových stylech je nadefinováno několik skupin médií podle různých hledisek.

  • Média stránková-plynulá:
    • stránková: emboss, handheld, print, projection, tv
    • plynulá: aural, braille, handheld, screen, tty, tv
  • Média zvuková-vizuální-dotyková:
    • zvuková: aural, tv
    • vizuální: handheld, print, projection, screen, tty, tv
    • dotyková: braille, emboss
  • Média s pevnou mřížkou-bitmapová:
    • s pevnou mřížkou: braille, emboss, handheld, tty
    • bitmapová: handheld, print, projection, screen, tv
  • Média interaktivní-statická:
    • interaktivní: aural, braille, handheld, projection, screen, tty, tv
    • statická: aural, braille, emboss, handheld, print, projection, screen, tty, tv

Způsob definice stylu pro určité médium

Existují dva způsoby určení platnosti kaskádového stylu pro konkrétní médium:

  • médium se určí přímo v dokumentu. V html k tomu slouží atribut media tagů link nebo style
  • médium se určí přímo ve stylovém předpisu at-pravidly @media nebo @import

Specifikování média v dokumentu

Jazyky dokumentů rozpoznávají atribut media tagů link nebo style. Hodnotu tohoto atributu je seznam médií oddělených od sebe čárkou.

Příklady:
<link rel="stylesheet" type="text/css" media="print, handheld" href="foo.css">

<style type="text/css" media="print">
...
</style>

Dle specifikace HTML má atribut media výchozí hodnotu screen, ale prohlížeče se většinou chovají, jako by byla nastavena hodnota all. V XHTML je výchozí hodnotou all.

at-pravidla

At-pravidlo @media určuje typy cílových medií pro sady pravidel následujících za pravidlem @media. Pokud chceme pravidlo @media použít pro více medií odělujií se čárkou. Příkazem @media označíme část tabulky stylů jako platnou pro dané médium.

Příklady:
  @media print {
    body { font-size: 10pt; }
  }

  @media screen {
    body { font-size: 12pt; }
  }

  @media print, screen {
    body { line-height: 1.2; }
  }

Uvnitř bloku @media není možné použít import další tabulky stylů pomocí příkazu @import. Namísto toho lze použít definování médií přímo v příkazu @import.

Příklady:
  @import url("styl_tisk.css") print; 

Závěr

Kaskádové styly podporují šikoké spektrum médií, a do budoucna se dá počítat ještě s dalším rozšířením. V praxi se ale můžete setkat jen s typem screen, print, a ve výjimečných případech ještě aural, braille, ostatní typy médií se v podstatě nepoužívají z důvodu jejich nejednoznačné definice v CSS (resp. z důvodu nejednoznačných definic práce s nimi), řešení těchto nedostatků má přinést připravovaná verze 3 kaskádových stylů.

 

DISCUSSION

For this item is no comments.

Add comment is possible for logged registered users.
> Search Software
> Search Google
1. Pacman linux
Download: 4881x
2. FreeBSD
Download: 9068x
3. PCLinuxOS-2010
Download: 8565x
4. alcolix
Download: 10950x
5. Onebase Linux
Download: 9662x
6. Novell Linux Desktop
Download: 0x
7. KateOS
Download: 6249x

1. xinetd
Download: 2417x
2. RDGS
Download: 937x
3. spkg
Download: 4765x
4. LinPacker
Download: 9969x
5. VFU File Manager
Download: 3201x
6. LeftHand Mała Księgowość
Download: 7205x
7. MISU pyFotoResize
Download: 2814x
8. Lefthand CRM
Download: 3565x
9. MetadataExtractor
Download: 0x
10. RCP100
Download: 3125x
11. Predaj softveru
Download: 0x
12. MSH Free Autoresponder
Download: 0x
©Pavel Kysilka - 2003-2024 | mailatlinuxsoft.cz | Design: www.megadesign.cz