Vylep╣enφ odkaz∙

V tomto textu se pokusφm nastφnit vylep╣enφ odkaz∙, zejmΘna pokud se p°ejedou my╣φ. P°edpoklßdßm, ╛e znßte pou╛itφ odkaz∙ v HTML. Jinde popisuji cφlovΘ okno, relativnφ adresy a zßlo╛ky .

Barva po staru - Pomocφ CSS - Pseudot°φda :hover - Bez podtr╛enφObrßzky v odkazech - M∞nφcφ se obrßzky - Bublina u textu - P°epnutφ do novΘho okna

Barva odkaz∙ po staru

Barvy odkaz∙ se v HTML definujφ jako atribut tagu body.

<body link="blue" vlink="purple" alink="red">

Link znamenß barvu nenav╣tφvenΘho odkazu, vlink nav╣tφvenΘho a alink znanenß aktivnφ odkaz. Pokud to nenastavφte, zßle╛ejφ barvy na nastavenφ prohlφ╛eΦe (nejΦast∞ji jsou stejnΘ jako v uvedenΘm p°φkladu: modrß, fialovß a Φervenß). Deklarace barev tφmto zp∙sobem se od 4. verze HTML pova╛uje za zastaralou a jejφ pou╛φvßnφ se nedoporuΦuje. Sice funguje, ale majφ se pou╛φvat CSS styly.

Barva pomocφ CSS

Kdy╛ vlo╛φte do hlaviΦky dokumentu stylopis (anglicky stylesheet), m∙╛ete ovlivnit i barvu odkaz∙. Jak se to pφ╣e:

<style>
a:link    {color: blue}
a:visited    {color: purple}
a:active    {color: red}
</style>

Stylopis pat°φ do hlaviΦky (dovnit° tagu <head>). Kdy╛tak mrkn∞te na nßvod, jak se CSS pou╛φvajφ. V p°φkladu a:link znamenß nenav╣tφven² odkaz (bude modr², blue), a:visited je nav╣tφven² odkaz a a:active je odkaz, na kter² se zrovna kliklo.

Pomocφ CSS styl∙ se dß odkaz∙m p°i°adit mnoho r∙zn²ch formßtovacφch vlastnostφ, nap°φklad aby v╣echny odkazy byly tuΦnΘ a nepodtr╛enΘ:

a    {font-weight: bold; text-decoration: none}

Pseudot°φda :hover

V p°edchozφm p°φkladu jsem pou╛il CSS a pseudot°φdy u odkaz∙ (pseudot°φda zaΦφnß dvojteΦkou, to je to :link, :visited). Od 4. verze Internet Explorer obsahuje takΘ pseudot°φdu a:hover, kterß oznaΦuje odkaz, p°es kter² se zrovna p°ejφ╛dφ my╣φ. Kdy╛ tedy napφ╣u do stylopisu dal╣φ °ßdek

a:hover    { color: orange}

budou v╣echny odkazy p°i p°ejφ╛d∞nφ my╣φ m∞nit barvu na oran╛ovou. Mozilla a dal╣φ modernφ prohlφ╛eΦe to um∞jφ takΘ.

Barva nenφ jedinß v∞c, kterß se dß u odkaz∙ m∞nit. Obzvlß╣╗ hezky vypadß, kdy╛ se nadeklaruje barva pozadφ, vnit°nφ okraj (padding) a rßmeΦek (border). Odkaz pak vypadß jako tlaΦφtko

Bez podtr╛enφ

Pomocφ CSS se dß ovlivnit nejenom barva, ale spousta jin²ch v∞cφ. ZejmΘna se vypφnß podtrhßvßnφ. Zßpis je:

<style>
a:link, a:visited    {text-decoration: none}
</style>

Fungovalo by to, i kdyby se p°ed zßvorku dalo jenom a (prost² odkaz), ale blblo by to v IE4. Podrobn∞ji rozebφrßm v textu o praktickΘm pou╛itφ CSS, m∙╛ete se takΘ podφvat na p°φklad.

Obrßzky v odkazech

Do odkazu se dß umφstit cokoliv, t°eba celß kapitola (jen ne dal╣φ odkaz). ╚asto a rßdy se tam dßvajφ obrßzky, takhle n∞jak to vypadß ve zdroji:

<a href="n∞kam.htm"><img src="obrßzek.gif"></a>

Jak psßt web

<a href="default.htm"><img border="0" src="images/jakpw.gif" alt="Jak psßt web" width="131" height="88"></a>

Potom obrßzek funguje jako odkaz. Aby kolem obrßzku nebyl rßmeΦek, musφ se zadat border="0". Je dobrΘ a nutnΘ do obrßzku vyplnit parametr alt, aby byl odkaz z°ejm², i kdy╛ se obrßzek zatφm nenatßhne. Pokud u╛ se natßhne, v Internet Exploreru se popisek (alt) objevuje ve sv∞tle ╛lutΘ bublin∞ u ukazatele my╣i. To je obecn∞ vzato chyba prohlφ╛eΦe, sprßvn∞ by v bublin∞ m∞l b²t title. N∞kte°φ auto°i dßvali do odkaz∙ obrßzky hlavn∞ kv∙li tΘ bublin∞ s popiskem (tenkrßt je╣t∞ title neexistoval). Ta bublina se dß ud∞lat i nad textem pomocφ atributu title.

M∞nφcφ se obrßzky

p°φklad obrßzkovΘho odkazu. Tento text je popisek.Dß se za°φdit, aby se obrßzky po p°ejetφ my╣i zm∞nily. Bu∩to jednodu╣e pomocφ CSS a filtr∙, nebo slo╛it∞ pomocφ JavaScriptu.

CSS + pozadφ

Do stylopisu se dß:

a.menici {background-image: url(prvni.gif)}
a.menici:hover {background-image: url(druhy.gif)}

a odkaz se zapφ╣e:

<a class="menici" href="kamkoliv">m∞nφcφ se odkaz</a>

Zobrazit p°φklad.

Pixiho vylep╣enφ

P°edchozφ p°φklad mß problΘm v tom, ╛e obsahuje dva obrßzky. Ve chvφli, kdy my╣ p°ejede obrßzek, je najednou pot°eba druh² obrßzek, kter² ale zrovna v tu chvφli ale nenφ sta╛en². D°φve se to °e╣ilo r∙zn²mi skripty (preloadery), ale Petr StanφΦek (Pixy) vymyslel p∞kn² trik a stal se dφky tomu slavn²m. Ud∞lal si pro pozadφ odkazu obrßzek, kter² obsahoval oba grafickΘ stavy. P°i p°ejetφ my╣i jenom ╣oupe pozicφ obrßzku (background-position).

CSS + filtry

P°φklad obrßzkovΘho odkazu.CSS filtry fungujφ dob°e jenom v Internet Exploreru verze 4 a vy╣φch, stejn∞ tak tento trik (kter² jsem vymyslel, ale slavn²m jsem se nestal¿). M∙╛e se vyu╛φt libovoln² filtr, jß uvedu p°φklad na ze╣ediv∞nφ normßlnφch odkaz∙. Ale obrßzek, nad kter²m zrovna bude my╣, se zobrazφ barevn∞. StaΦφ napsat do stylopisu tuto deklaraci:

a img    {filter: gray}
a:hover img    { filter: none}

(Pokud se pou╛ije mφsto "gray" jinΘho filtru, dosßhne se z°ejm∞ jinΘho efektu.) Vtip je v tom, ╛e potom u╛ na to vφc nemusφm myslet, takto "╛iv∞" se budou chovat v╣echny obrßzky v odkazech na danΘ strßnce. Kdybych to cht∞l jenom u n∞kter²ch, pou╛iji t°φdu nebo identifikßtor.

JavaScriptem

Omezφm se na praktickΘ pou╛itφ. Teorie je na vφc stran a nechce se mi to tu probφrat. Je pot°eba p°ipravit si dva obrßzky (nejlΘpe stejnΘ velikosti), v tomto p°φkladu je naz²vßm prvnφ.gif a druhy.gif:

Samoz°ejm∞, ╛e si m∙╛ete obrßzk∙ p°ipravit vφc a lze pou╛φt takΘ udßlosti onclick, ondblclick atd. atd.

Bublina u textu

Bubliny se ve star╣φch prohlφ╛eΦφch objevujφ pouze u obrßzk∙ pomocφ atributu alt. V Internet Exploreru v Ope°e 6+ a v Mozille (ne v Netscapu 4) se ale dß ud∞lat i u textu. V jakΘmkoliv tagu se uvede atribut title="text bubliny". Nejlep╣φ je to dßvat do odkaz∙, aby Φlov∞k v∞d∞l, co jej Φekß po kliknutφ.

<a href="cil_odkazu.html" title="dopl≥ujφcφ informace do bubliny">text odkazu</a>

P°idß-li si u╛ivatel Internet Explorer odkaz do oblφben²ch, nabφdne se automaticky text atributu title jako v²chozφ pojmenovßnφ polo╛ky (jinak se nabφdne text odkazu).

V Mozille a ope°e nefunguje u obrßzk∙ bublina pomocφ alt, co╛ je sprßvn∞. Opera do druhΘho °ßdku bubliny odkazu p°idßvß adresu, kam odkaz vede.

P°epnutφ do novΘho okna

P°i prochßzenφ Internetem se obΦas dostanu do situace, ╛e nechci n∞jakou strßnku opustit, a p°ece chci zßrove≥ p°ejφt na novou. D∞lßm to pomocφ pravΘho tlaΦφtka p°φkazem "otev°φt odkaz v novΘm okn∞" (open in new window). (To samΘ d∞lß stisknut² Shift p°i klikßnφ v IE.)

Ka╛d² odkaz se dß ale upravit tak, aby automaticky otevφral novΘ okno. D∞lß se to pomocφ atributu target, jemu╛ se p°i°adφ hodnota "_blank". <a href="http://www.atlas.cz" target="_blank"> je zßpis odkazu, kter² v novΘm okn∞ prohlφ╛eΦe zobrazφ Φesk² portßl Atlas.

Jako hodnota atributu target se m∙╛e pou╛φt jmΘno n∞jakΘho rßmu, ale to bych u╛ moc odboΦoval. Nebo se dß nastavit jednφm tagem <base target="_blank">, ╛e se budou v╣echny odkazy na strßnce otevφrat v novΘm okn∞.

P°edchozφ: Odkazy v HTML, Dal╣φ: Zßlo╛ky
Vizte tΘ╛: zdokonalenφ obrßzk∙, cφlovΘ okno (rßmy), relativnφ adresy, CSS styly, OzvuΦenφ odkaz∙, NovΘ okno otev°enΘ odkazem
P°φklady: r∙znΘ barvy odkaz∙, textovß tlaΦφtka, odkazy v tabulkßch
Odkaz mimo: Jak na vy╣╣φ ·Φinnost odkaz∙ (Sova v sφti), Pixyho genißlnφ °e╣enφ m∞nφcφch obrßzk∙ + p°φklad

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

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

Hledßnφ:

Jak psßt web: www.jakpsatweb.cz

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

Poslednφ aktualizace 10.12.2003