R∙znΘ barvy odkaz∙

pomocφ CSS a class

N∞kdy m∙╛ete chtφt obarvit odkazy v r∙zn²ch Φßstech strßnky r∙zn∞. V normßlnφm textu je chcete mφt t°eba modrΘ a v odkazovΘ li╣t∞ bφle na modrΘm pozadφ. Pro tento ·kol se bßjeΦn∞ hodφ CSS. Je to tΘm∞° vzorov² p°φklad na pou╛itφ t°φd (class).

Je dobrΘ urΦit novou t°φdu jmΘnem "lista". U odstavce, kter² tvo°φ li╣tu, jenom napφ╣u p°φslu╣nost k tΘto t°φd∞:

<p class="lista">Text li╣ty s <a href="n∞kam">odkazem</a></p>

Obsahem tohoto odstavce m∙╛e b²t libovolnΘ HTML, formßtovßnφ se provede pomocφ ".lista {...}" ve stylopisu.

V²pis zdroje

<html><head><title>R∙znΘ barvy odkaz∙</title>

<style><!--

a {color: blue} /* Odkazy budou modrΘ */

.lista {background-color: blue; color: white} /*ModrΘ pozadφ a bφlΘ pφsmo */

.lista a {color: white} /* Odkazy (a) uvnit° t°φdy lista budou bφlΘ */

--></style>

</head>

<body>

<p>Normßlnφ odstavec s n∞jak²m <a href="n∞kam">odkazem</a>.</p>

<p class="lista">Text li╣ty s <a href="jinam">odkazem</a></p>

</body></html>

 

P°φklad si m∙╛ete zobrazit v prohlφ╛eΦi. Samoz°ejm∞ by to je╣t∞ cht∞lo vyladit, o tom nφ╛e.

Kontextovß deklarace

V p°φkladu jsem pou╛il kontextovΘ deklarace. To je to ".lista a". ╪φkß, ╛e nßsledujφcφ styl se bude aplikovat na v╣echny odkazy (element "a") uvnit° elementu, kter² mß nastaveno class="lista". V tomto p°φpad∞ °φkßm, ╛e ty odkazy budou bφlΘ {color: white}.

Po°adφ deklaracφ

Je d∙le╛itΘ, ╛e specißlnφ deklarace odkaz∙ v li╣t∞ nßsledovala a╛ za deklaracφ obecn²ch odkaz∙. V CSS toti╛ platφ, ╛e co je pozd∞ji, je platn∞j╣φ (proto jsou to "kaskßdovΘ" styly). Kdybych to napsal v opaΦnΘm po°adφ, byly by v╣echny odkazy modrΘ.

Pseudot°φdy

V praxi by se to muselo doplnit o v²pis v╣ech pseudot°φd odkaz∙. Jde o to, ╛e jinak se barvφ odkazy nav╣φvenΘ, nenav╣tφvenΘ, aktivnφ a p°ejφ╛d∞nΘ my╣φ. O tom u╛ jsem psal jinde. Nynφ jen tolik, ╛e se to samoz°ejm∞ m∙╛e rozepsat, t°eba takhle:

a:link {color: blue} /* nenav╣tφven² */

a:visited {color: purple} /* nav╣tφven²*/

.lista a:visited, .lista a:link {color: white} /* oba typy v li╣t∞ */

a:hover, .lista a:hover {color: red} /* odkazy p°ejφ╛d∞nΘ my╣φ */

V╣im∞te si, ╛e jsem pou╛il hromadnou deklaraci, ve kterΘ se elementy se stejn²m stylem odd∞lujφ Φßrkou.

Vylad∞nφ v NS 4

Zrovna v tomto p°φkladu by n∞komu mohlo vadit, ╛e se v Netscapu 4 zobrazuje pozadφ pouze pod textem a nikoliv pod cel²m odstavcem. Proto je dobrΘ p°idat deklaraci, kterß p∙sobφ doslova magicky (a nevysv∞tliteln∞):

.lista {border: none; margin: 0px}

Tato deklarace zp∙sobφ, ╛e Netscape vykresluje pozadφ pod cel²m obdΘlnφkov²m prostorem odstavce. Mo╛nΘ jsou jakΘkoliv platnΘ deklarace marginu a borderu.

Okraje li╣ty - padding

Aby se text li╣ty nelepil na okraje modrΘho pozadφ, m∙╛e se pou╛φt vlastnost padding - vnit°nφ okraj. Ten ud∞lß na okraji li╣ty prostorovou mezeru, kterß ale je╣t∞ bude pat°it do li╣ty, tak╛e se podbarvφ mod°e.

.lista {padding: 10px}

Vy╣perkovßnφ li╣ty se dß ud∞lat r∙zn²mi zp∙soby, to u╛ nechßm na vßs. Zatφm jsem v╣echny uvßd∞nΘ deklarace shrunul do lep╣φho p°φkladu, kter² si m∙╛ete zobrazit a zdroj prostudovat sami.

P°φklady: prvnφ nebo lep╣φ.
Vizte tΘ╛: ·vod do CSS, t°φdy a identifikßtory, zdokonalenφ odkaz∙, CSS prakticky

o tvorb∞, ·dr╛b∞ a zlep╣ovßnφ internetov²ch strßnek

Pφ╣e Yuh∙, dusan@pc-slany.cz

Hledßnφ:

KaskßdovΘ styly na www.jakpsatweb.cz

Pφ╣e Yuh∙: http://dusan.pc-slany.cz, mail: dusan@pc-slany.cz

Poslednφ aktualizace 10.12.2003