Mimochodem, co je CSS? CSS vzniklo někdy kolem roku 1997. Je to kolekce metod pro grafickou úpravu webových stránek. Ta zkratka znamená Cascading Style Sheets, česky "kaskádové styly". Kaskádové, protože se na sebe mohou vrstvit definice stylu, ale platí jenom ta poslední. Už je na světě CSS 2, vylepšené a složitější formy stylů, které ale zatím moc nefungují v nejrozšířenějším prohlížeči Internet Exploreru.) Styly poprvé implementovala f. Microsoft do IE 3.0. První verze stylů má název Level 1 a je uvedena v HTML 4.0. Pomocí stylu lze jednoduše definovat druh písma, způsob zarovnání, barvu a další vlastnosti tagu. Tato definice se použije jednotně v celém dokumentu. V dokumentu se soustředíme pouze na strukturu informace grafický vzhled je definován stylem. Formátování HTML Každý text má obsah a formu. Formát (forma) webových stránek - barva a velikost písma, pozadí, zarovnání atd., prostě všechno, co nepatří do obsahu. Protože se jazyk HTML vyvíjel, vznikaly časem různé způsoby, jak formátovat text. Proto dnes existují dva odlišné způsoby, jak v HTML třeba obarvit písmo nebo ztučnit text. 1. Starší způsob používá přímo HTML tagy. (Například kurzíva se dělá pomocí tagů <i> a </i>: <i>kurzíva</i>). Pomocí tagů se některé věci nedají udělat. 2. Novější způsob -- CSS styly -- používá obecný atribut "style", kterému se přiřazuje nějaká definice. Je to složitější, ale všeobecné. Drobný problém CSS nepodporují starší prohlížeče (2. Explorer a 3. Navigator), v takových se text nezformátuje (zůstává čitelný), ale tyhle prohlížeče se už téměř nevyskytují (a bude lépe). CSS zatím nepodporují mobilní zařízení, například prohlížeče Ipaqů. I v nich ale jde text přečíst. Základy práce se styly H1 { color: blue }... skládá se z 1 pravidla H1... selektor, lze použít všechny tagy HTML color: blue... deklarace, color... vlastnost, blue... hodnota vlastnosti Selektor zajišťuje vazbu na odpovídající HTML tag. Vlastností u každého tagu, které je možno použít, je několik desítek. Trojí použití CSS Styl se může nadeklarovat třemi způsoby: Přímo (in-line) Do zdroje se napíše tato deklarace odstavce: <p style="color: red">tento odstavec bude červený.</p> - 1 -
Vysvětlení: <p> je značka vymezující odstavec; z anglického paragraph. Atribut "style" je obecný atribut podobný třeba atributu "align", jenže je mocnější. - 2 -
Stylopisem Do hlavičky dokumentu se napíše stylopis uzavřený mezi tagy <style></style>: <style> p {color: red} </style> a do těla stránky se mohou psát odstavce: <p>tento odstavec bude červený. </p> <p>tento mimochodem také, protože červené budou všechny.</p> To, jak zařídit, aby nebyly červené všechny, ale jenom některé odstavce, se dá pomocí "tříd" a "identifikátorů", o tom později. Externím CSS souborem Vytvoří se soubor, který se pojmenuje třeba styly.css. V něm bude tento text: p {color: red} Do hlavičky html dokumentu, který chci stylovat, musím napsat odkaz na tento soubor: <link rel="stylesheet" type="text/css" href="styly.css"> V těle dokumentu pak budou opět všechny odstavce červené. K dispozici je i podrobnější příklad. Pravidla použití stylů Definice stylů jsou v sekci HEAD, kvůli kompatibilitě se staršími verzemi prohlížečů je pod úrovní STYLE ještě jeden obal, který má strukturu tradičního komentáře (<!-- až -->). Je to výjimka, kdy moderní prohlížeč tato data neinterpretuje jako komentář, ale jako tag HTML. Ten prohlížeč, který tag STYLE nezná, jej naopak jako komentář interpretuje. Třída jako selektor <HTML> <HEAD> <TITLE>Titulek stránky</title> <STYLE TYPE= text/css > <!-- body {color: blue; background: yellow}.novy { font-size: 12pt; font-weight:bold; color: red; text-align: center} --> </STYLE> </HEAD> <BODY> - 3 -
<P CLASS= novy > Přiřadí se styl novy k formátovacímu stylu odstavce P. V případě konfliktu definic má přednost ta, která je uvedena jako poslední. <H1>Tento text nemá přiřazen žádný styl.</h1> <H1 CLASS= novy > Velikost písma ve stylu novy přebije velikost písma definovaného v tagu H1. </H1> <DIV CLASS= novy >Tag DIV vytvoří nový odstavec, nepřidá jiné formátování. </DIV> Chcete-li aplikovat pouze formátování stylu, <SPAN CLASS= novy >tag SPAN nijak text neformátuje </SPAN> a ni na něj nemá žádný vliv. </BODY> Příklad s odkazy :pseudotřídy Pomocí stylopisů se dají formátovat libovolné HTML tagy, ne pouze nadpisy. Obzvlášť efektní je to u odkazů. Nebudu vypisovat celý zdroj, omezím se na stylopis: <style><!-- a {text-decoration: } a:link {color: green} a:visited {color: navy} a:active {color: black} a:hover {color: red; text-decoration: underline} --></style> Celý soubor s tímto stylopisem si můžete zobrazit. Setkáváme se tu s deklarací formátu odkazů -- vnitřku tagu <a> </a>. Navíc tento tag má pseudotřídy (různé stavy), které umožňují různé zobrazení podle toho, zda už je odkaz navštívený nebo zda po něm jede myš. Takže konkrétně: text-decoration: znamená, že odkazy nebudou podtrhávané a:link znamená nenavštívený odkaz (bude zelený) a:visited je už navštívený (tmavě modrý) a:active je ten, na který se zrovna kliklo (černý), nebo ten, po kterém jede tabulátor a: hover je ten, přes který se jede myší (červený podtržený) text-decoration: underline znamená podtržení. Tag A je jediný, u něhož se vyskytují pseudotřídy. Ještě pozor na syntaxi: mezi a a dvojtečkou není mezera! První řádek stylopisu definuje nepodtrhávání odkazů pro všechny pseudotřídy. Pouze a:hover tuto deklaraci přebíjí, protože je uvedena později. - 4 -
Identifikátor Pro jednoznačný popis nějakého elementu (zejména pro potřeby skriptů) existuje univerzální atribut ID. I jemu se může ve stylopisu přiřadit nějaká deklarace, ale na rozdíl od třídy nezačíná tečkou, ale dvojkřížkem #. V těle dokumentu by se element s jedním identifikátorem měl vyskytovat jenom jednou. Kdybych v předchozím příkladu použil identifikátoru namísto třídy, deklarace by vypadala takhle: #podtitul { text-align: center; font-weight: bold; text-decoration: overline} a v těle by se odstavci přiřadila identifikace atributem id: <p id="podtitul">text podtitulu</p> Identifikátor id se z hlediska CSS chová stejně jako třída class. Rozdíly jsou právě jen ve skriptech a v parsování dokumentu. Osobně identifikátory pro formátování nepoužívám, stačí mi třídy. Složené deklarace slučování definic Stylopisy umožňují nadeklarovat vlastnosti pro více elementů najednou. Například deklarace H1, H2, H3 {color: green} obarví všechny nadpisy první, druhé i třetí úrovně na zeleno. Hromadnou deklaraci používám, pokud zadávám mnoho stejných vlastností pro mnoho elementů. Důležitá je čárka mezi selektory! Kdyby tam nebyla, šlo by o něco jiného, totiž o kontextový selektor. Nebo lze sloučit deklarace: H1 { font-size: 12pt; font-family: sans-serif; font-style: } Kontextová deklarace Vysvětlím příkladem: H3 A {font-style: italic} Tato deklarace by udělala kurzívou všechny odkazy uvnitř nadpisů třetí úrovně (elementy A uvnitř elementu H3). <h3>obyčejný text nadpisu s <a>odkazem kurzívou</a></h3> <p>obyčejný odstavec s <a>obyčejným odkazem</a></p> Odkazy v obyčejných odstavcích to nijak neovlivní, stejně tak obyčejný text trojkového nadpisu. Zápisy selektorů kontextového zápisu jsou odděleny pouze mezerou. Osobně tuto vlastnost považuji za nejfantastičtější a výborně použitelnou vlastnost CSS. Použil jsem ji třeba v příkladu o různých barvách odkazů. Skládání stylů Díky CSS se na jeden element může navrstvit mnoho různých deklarací (proto styly kaskádové), někdy i protichůdných. Jak se rozhodne, která deklarace převládne? Zpravidla ta poslední. Když chci, aby nějaká dřívější deklarace převládla, napíšu do deklarace řetězec "! important". Taková deklarace potom nebude přehlušena žádnou pozdější. (Tuto vlastnost doporučuji používat s rozvahou, protože způsobuje zmatek při pozdějším ladění designu.) - 5 -
Pseudoelementy Ve specifikaci CSS1 se vyskytují pseudoelementy :first-line a :first-letter. Znamenají první řádek a první písmeno. Například zápis: p:first-line {color: blue} p:first-letter {font-size: 200%} by měl způsobit, že odstavce budou mít první řádek modrý a první písmeno dvakrát větší. Z prohlížečů to podporují Mozilla 5, Internet Explorer 5.5 (nikoliv IE 5.0) a IE 6 (myslím ale, že Internet Explorer to umí jenom u tagu <p>). Shrnující příklad Ve stylopisu (v hlavičce či v externím souboru) se mohou vyskytovat i takovéhle věci: <style> #prvniodstavec {text-ident: 20 px} A:visited {color: teal} A:link {color: navy} a:hover {color: red}.velke A {font-weight: bold}.zalozka {font-style: oblique}.zalozka A:visited {color: navy! important} H1, H2 {color: #33ff66; font-variant: small-caps} H2 {font-size: 18pt} </style> Doufám, že význam je zřejmý. Všechno to funguje. Důležité je v příkladu snad jen to, že se může jeden element deklarovat vícekrát a že kontextová deklarace se může kombinovat s třídami a pseudotřídami. Nejisté znaky Ve jménech tříd a identifikátorů se vyvarujte používání podtržítka _ (a raději i češtiny a jiných pochybných znaků, ale mínus je v pohodě). Internet Explorer 5 podtržítko v názvu třídy nebo ID snese a správně zobrazí, žádný jiný prohlížeč ale ne!!! Název třídy ani identifikátoru by podle specifikace neměl začínat číslicí, Internet Exploreru 6 se to opravdu nelíbí. - 6 -
Font (písmo) Vlastnost Hodnoty Význam Příklady Poznámky Může se zadávat více písem za sebou, odděluje se font-family seznam písem Druh písma, font font-family: Arial CE, sans-serif čárkami. Pokud klient nemá v systému první font, bere další atd. Vizte Přehled použitelných písem. font-style italic oblique normální kurzíva skoněné font-style: font-style: italic font-style: oblique Skloněné písmo je prostá geometrická transformace, kurzíva je jiný řez. Prohlížeče většinou užívají kurzívu i při oblique. Kapitálky jsou velká písmena velikosti malých. font-variant small-caps normální kapitálky FONT-VARIANT: SMALL-CAPS Velká písmena by měla být trochu větší. IE 5 udělá sice kapitálky, ale zmenší i velká písmena, což by neměl. font-size: xx-small font-size: x-small font-size: small font-size: font-size xx-small x-small small medium large x-large xx-large výška procento mrňavé maličké malé střední velké obří maxipsí výška zvětšení medium font-size: large fontsize: x- large Netscape se na procenta tváří divně. MS IE 3.x zase neumí správně zobrazovat jednotky em a ex. V IE 6 je vykreslovaná velikost závislá na! doctype. Vizte použitelná písma v různých velikostech. Vizte délkové jednotky v CSS. Vizte velikosti písma podle prohlížečů font-size: 14pt font-size: 16px font-size: 125% - 7 -
font-weight: font-weight bold bolder lighter 100, 200, 300, 400, 500, 600, 700, 800, 900 normální tučné trochu tučnější trochu světlejší duktus vyjádřený číslem font-weight: bold font-weight: bolder font-weight: lighter font-weight: 100 font-weight: 300, font-weight: 400 font-weight: 500 font-weight: 600 U většiny fontů mají smysl jenom základní tloušťky: záleží to na výrobci fontu. Bolder a lighter se doporučuje nepoužívat. font-weight: 800 font-weight: 900 všechny možné předchozí font: bold Tato deklarace je citlivá na pořadí jednotlivých údajů. Musí se použít v pořadí: tučnost kurzíva font hodnoty nebo systémové italic 20px velikost jméno. Netscape 4 chce všechny hodnoty. písmo Arial Použije-li se v deklaraci např. font: 12pt/14pt, údaj za lomítkem se vztahuje k vlastnosti line-height. hodnota serif sans-serif cursive fantasy monotype font-family - obecná jména fontů obecné jméno fontu patkové písmo, nejčastěji Times New Roman bezpatkové písmo, nejčastěji Arial psací písmo divoké volně psané písmo jako psací stroj Text / odstavec Vlastnost Hodnoty Význam Příklady Poznámky - 8 -
text-decoration: textdecoration underline overline linethrough blink bez dekorace podtržení "nadtržení" přeškrtnutí blikání text-decoration: underline text-decoration: overline text-decoration: line-through Teoreticky se dá zadávat více vlastností najednou. Netscape 4 neumí overline. MS IE neumí blinkat. text-decoration: blink Text-Transform: capitalize uppercas e lowercas e nechat jak to je Začátky Slov Velké VELKÁ PÍSMENA malá písmena texttransform Text-Transform: capitalize TEXT- TRANSFORM: UPPERCASE Text-Transform: lowercase word-spacing délka mezislovní mezera zvětšená o délku word-spacing: word-spacing: 100px Prohlížeče podporují od šestých verzí. letter-spacing: letter-spacing délka prostrkání znaků zvětšené o délku l e t t e r - s p a c i n g : Netscape 4 nepodporuje. 5 p t line-height výška násobek procento výška řádku absolutní výška násobek zvětšení line-height: 3 line-height: 8px line-height: 80% text-indent délka procento odsazení prvního řádku text-indent: 50 druhý řádek odstavce Mozilla 5 na této stránce záhadně nepodporuje, normálně ale ano. Popis použití u českých odstavců - 9 -
text-align: left text-align left right center justify zarovnání vlevo vpravo na střed do bloku text-align: right text-align: center text-align: justify blablabla blablabla Dá se použít jen u blokových elementů, tj. u věcí, které má smysl zarovnávat, například u odstavců. blablabla bla bla bla vertical-align baseline sub super top text-top middle bottom textbottom procento na řádek dolní index horní index co nejvýše vršek k vršku střed na střed co nejníže spodek ke spodku procento výšky baseline řádek sub řádek super řádek top řádek text-top řádek middle řádek bottom řádek text-bottom řádek 30% řádek Vertikální zarovnání nízkého prvku na vyšším řádku Vlastnosti top, middle a bottom se dají použít u buněk tabulky a u obrázků na řádku. display block inline list-item blokový element řádkový element seznam nezobrazí se display: block <br> display: inline <br> display: list-item <br> Jde o to říct prohlížeči, že některý element je druhu odstavec (blok), nebo že má být zarovnán do řádku, nebo že je to seznam. Nejzajímavější je možnost nezobrazení. Ostatní hodnoty mají význam pouze při formátování XML dokumentů. Předformátovaný text zachovává mezery a konce řádků jako ve white-space pre nowrap normální text předformátovaný nezalamovat zdroji. Obdoba tagu <pre>. Nezalamovaný neudělá automatický konec řádky. Podle mých zkušeností funguje pouze v Mozille a v IE 5.5 Závisí na <!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0//EN"> nebo vyšším. Barvy a pozadí Možnosti zápisu barvy Barva se dá v HTML zapsat pěti způsoby: Způsob zápisu Příklad: červené písmo Poznámka Jménem v angličtině <font color="red"> Existuje mnoho "pojmenovaných" barev. - 10 -
Procentuálním RGB zápisem Desetiným RGB zápisem Šestnáctkovým RGB zápisem Zkráceným šestnáctkovým RGB zápisem <font color="rgb(100%,0%, 0%)"> <font color="rgb (255,0,0)"> <font color="#ff0000"> <font color="#f00"> (rgb znamená Red Green Blue) Tento způsob je nejjistější, nejpoužívanější a nejlepší. Jenom v případě, že všechny dvojice cifer shodují Detailním rozborem rgb zápisů se budu zabývat níže. Pojmenované barvy Ačkoliv se dnes uvádí několik desítek pojmenovaných barev, je dobré držet se základních šestnácti windowsáckých barev. Jsou to black, white, green, maroon, olive, navy, purple, gray, yellow, lime, aqua, fuchsia, silver, red, blue a teal. Hlavní výhoda tohoto zadávání spočívá ve snadné zapamatovatelnosti, nemusíte analyzovat světelné složky. Jako všude v HTML nemusíte dávat pozor na velká písmena, RED funguje stejně dobře jako red nebo ReD. RGB model RGB znamená red green blue, čili červená zelená modrá. Lidské oko chápe každé barevné světlo jako směs tří složek: červeného (red), zeleného (green), a modrého (blue) světla. - 11 -
Stejným způsobem jsou barvy tvořeny na monitoru. Když se na zapnutý monitor podíváte lupou, uvidíte červené, zelené a modré body (nemáte-li lupu, stačí si na monitor plivnout). Rozsvícením sousedních bodů různou kombinací intenzit se tvoří barvy. Například žlutá barva se vytvoří rozsvícením zelených a červených bodů, když modré zůstanou zhasnuté. RGB v HTML funguje úplně stejně. Říká, jak moc se mají rozsvítit červené, zelené a modré body na obrazovce. Například modrá barva se dá procentuálně napsat jako rgb(0%,0%,100%), protože v ní není žádné červené světlo (to je ta první nula), žádné zelené světlo (druhá nula) a je v ní naplno modrá (100%). Žlutá by byla rgb(100%,100%,0%) neboť je tvořena červeným a zeleným světlem. Myslím, že procentuální zápis je natolik zřejmý, že jej nebudu dále rozvíjet. Nejlepší je zápis šestnáctkový, napřed ale vyložím jednodušší desítkový. Pokud máte raději praxi než teorii, podívejte se na tabulku základních barev, ve které jsem vypsal příklady včetně grafických složek barev. Desítkový RGB zápis Namísto procent se v desítkovém zápisu používají čísla od 0 do 255, kde 0 odpovídá 0% a 255 je 100%. Například zelená barva, která má procentuálně rgb(0%,50%,0%), se desítkově zapíše jako rgb (0,128,0). Proč je maximum zrovna 255? To vyplývá z toho, jak počítače zacházejí s informacemi. Pro škálování intenzity pixelu mají (v hi color) vymezeno 8 bitů, což znamená 2 8 = 256 možností. Protože tam patří i nula, tak maximum je 255. Desítkový zápis se v praxi příliš nepoužívá, ale je dobré jej pochopit, jinak zůstane záhadou i nejpoužívanější zápis šestnáctkový. Šestnáctkový (hexadecimální) zápis barvy Začíná se vždy dvojkřížkem (#, na české klávesnici pravý alt+x), za kterým následuje šest znaků. První dva znaky patří červené (red), prostřední dva zelené (green) a poslední dva modré (blue). Symbolicky to lze zapsat takto: #ČČZZMM, nebo chcete-li anglicky #RRGGBB. Každá dvojice znaků je číslo v šestnáctkové soustavě. Nejvyšší hodnotou je zde FF (odpovídá 100%), nejnižší 00. (FF je 15. 16 + 15 = 255) Například modrá barva je #0000FF. Žádná červená ani zelená, jenom naplno modrá. Kdo nerozumí šestnáctkové soustavě, může pro něj být tento zápis na první pohled záhadný. Důležitý je v té dvojici znaků vždycky ten první, druhý jenom drobně škáluje. Čím je ten první znak vyšší, tím více barva svítí. Přitom znak A odpovídá číslu 10, B = 11, C = 12, D = 13, E = 14, F = 15. Nelamte si s tím hlavu, nechte to koňovi, má ji větší. Za chvíli pochopíte, že se to při používání "bezpečných barev" zjednoduší. Zkrácený zápis Protože se oba znaky zastupujících jedno světlo často zapisují stejným znakem, existuje zkrácená varianta zápisu. Místo šesti znaků se použijí jenom 3. Pak symbolicky barva #RGB odpovídá barvě #RRGGBB. - 12 -
Například vyblitá barva, která se normálně zapisuje #aabbcc, se dá zapsat také #abc. Toho se bohatě využívá zejména při zápisu bezpečných barev. Bezpečné barvy Starší monitory, starší grafické karty nové mobily dokáží zobrazovat jenom některé barvy. Všechny ostatní barvy se snaží napodobovat kropenatou plochou (dithering), což se ale mnohdy nedaří. Naštěstí existují barvy, kterým se říká bezpečné a které dokáží starší monitory zobrazit bez problémů. Říká se tomu Netscape paleta. Tyto barvy mají v šestnáctkovém zápisu pro každou barvu pouze šest možných hodnot: 00, 33, 66, 99, CC nebo FF. Například #33CC66 je bezpečná barva (nazelenalá). Nebo #FF0066 je bezpečná červená. V procentuálním zápisu se mohou používat násobky 20%, což odpovídá násobkům čísla 51 v zápisu desetinném. Takových barev je 216. Můžete si je prohlédnout na samostatné stránce. Dále k bezpečným barvám patří šestnáct odstínů šedi (#xxxxxx, kde x je 0 až F). Někdy se udává, že k bezpečným barvám patří též základní barvy Windows. Bezpečné barvy by se správně měly používat i ve všech souborech gif. (U jpg je to jedno.) Zápis barev v CSS Zatímco v normálním HTML se zapisuje (symbolicky) <tag vlastnost="barva>, v CSS je to <style> tag {vlastnost: barva} </style> nebo <tag style="vlastnost: barva">. Pro zápis "barvy" platí vše, co bylo řečeno výše, i zde jsou tedy ty čtyři způsoby. (Za zmínku stojí, že se barva nedává do uvozovek, tak ji Netscape 4 nepozná.) Například obarvení všech nadpisů druhé úrovně na zeleno se dělá takto: <style> h2 {color: #009900} </style>. Vlastnost Hodnoty Význam Příklady Poznámky color barva barva písma color:blue barva pozadí background-color: yellow backgroundcolor transparent barva průhledné background-color: pozadí transparent Barva písma a základních rámečků nebo barva toho, k čemu se to vztahuje Barva pozadí. Dá se zadávat libovolná barva (zápis barev). backgroundimage url(cesta) obrázek na pozadí background-image: url ('pozadi5.gif') - 13 -
background-image: url backgroundrepeat repeat no-repeat repeat-x repeat-y pozadí se opakuje neopakuje opakuje v ose X nebo v ose Y ('pozadi5.gif'); backgroundrepeat: repeat background-repeat: norepeat background-repeat: repeat-x background-repeat: repeat-y pozadí se příklad má smysl pouze u backgroundattachment scroll fixed posouvá pozadí je pozadí stránky; fixed se používá zejména v Netscape 4 neumí fixed jako přibité souvislosti s rámy backgroundposition top, center, bottom left, center, right, délka, procento Poloha obrázku na pozadí (nejčastěji pokud se neopakuje) background-image: url ('pozadi5.gif'); backgroundrepeat: no-repeat; background-position: right 50% 2 hodnoty se oddělují mezerou. První patří k horizontální, druhá hodnota k vertikální poloze. Netscape 4.x neumí změnit polohu z levé horní, dokonce tuto vlastnost ani nezná. všechny výše background: url background uvedé ('pozadi5.gif') no-repeat Vizte Vše o pozadí hodnoty scroll silver center bottom URL se zadává do závorek a apostrofů, např.: background-image: url('pozadi.gif'). Jsou ale možné i uvozovky nebo jenom závorky. URL může být absolutní i relativní, je však citlivé na velikost písmen. Velikost a obtékání * Procenta v této tabulce se vztahují k šířce (výšce) rodičovského elementu. Šířka rodiče je nejčastěji šířka dokumentu (nezávislá na okně), kdežto procentuální výška nevnořených elementů se počítá z výšky okna! Vlastnos t Hodnoty Význam Příklady Poznámky - 14 -
V IE nelze nastavit width pro body. Prohlížeče se velmi liší v tom, u kterých objektů jsou width auto šířka procento automatická šířka nastavená šířka procento * Vizte popis délkových jednotek ochotny šířku akceptovat. Myslím, že to má souvislost s blokovými a řádkovými elementy. V Internet Exploreru 4 a vyšších je do šířky nesprávně započítávána šířka paddingu a borderu (to je quirk mode). Opera, Mozilla (a IE6 ve standardním režimu) počítají správně. height auto výška procento automatická výška nastavená výška procento * Dá se nastavit jenom některým tagům. Nejlépe funguje u <div>. Netscape 4 má s height problémy. float left right umístění plovoucího (obtékaného) objektu či zda je neplavec float: left normální odstavec float: right Pro IE 4 nutno aplikovat na div, img nebo object clear left right both čekání na skončení plovoucích objektů zleva, zprava, obou, nebo žádných Používá se namísto atributu "clear" u tagu BR. Většinou u nadpisů pod obrázky. Komentáře EM { color: red} /* všechna zvýraznění budou červená */ - 15 -