Länkar och klickbara bilder
Utan länkar inget Internet -
så är det! Länka till andra sidor, använd bilder som länkar
och förflytta dig med hjälp av länkar till andra delar av
den aktiva sidan.
Inledning
Det som i grund och botten gör webben så revolutionerande, förutom att all
världens information görs tillgänglig, är möjligheten att länka nyckelord och webbsidor till
andra sidor. Utan länkar vore webben bara en elektronisk bok med undermålig utformning.
Om man läser en bok och stöter på ett begrepp man vill veta mer om kan man i bästa
fall hitta ordet i en ordförklaring. I värsta fall tvingas man leta upp information i
andra böcker, eller helt enkelt strunta i förklaringen. Om den som gjort webbsidan du läser
är omtänksam har han, eller hon, gjort begreppet till en länk. Då kan du som
användare klicka på ordet och öppna en ny sida med mer information. På så vis kan man
som webbproducent skriva en text avsedd för insatta, med lämplig
bakgrundsinformation och extra text för den som vill veta mer, eller fördjupa sig i ämnet. Detta är en stor
fördel jämfört med den tryckta boken eftersom du själv bestämmer om du vill läsa den
extra informationen.
Länkar kan bestå av text, bilder eller en kombination av båda. Längre fram i kursen
ska vi kika lite på Dynamisk HTML, där det är möjligt att göra hela sidor till
klickbara länkar, men för tillfället nöjer vi oss med text och bilder. Men nog med snack, nu
sätter vi igång med det roliga.
Absoluta och relativa länkar
Precis som när man anropar bilder kan man använda relativa eller absoluta
länkanrop. En länk kan vara så enkel som namnet på den sida man vill länka till:
extra_information.html
Om ovanstående länk sitter på sidan information.html, i katalogen julgranar,
letar webbläsaren i samma katalog. Nedan följer ett exempel på en relativ länk som
anropar en sida i en katalog högre upp i katalogstrukturen:
../tomtar.html
De två punkterna och snedstrecket (../) betyder att webbläsaren ska leta efter
filnamnet en nivå högre upp i katalogstrukturen. Om du vill gå upp två nivåer anger du ../../
och så vidare.
På motsvarande sätt kan man anropa en fil som ligger längre ner i katalogstrukturen,
det vill säga en fil som ligger i en annan katalog än filen där länken finns. Då anger
du katalognamnet följt av ett snedstreck (/):
mer_info/mer_information.html
I ovanstående anrop finns filen mer_information.html sparad i katalogen
mer_info (hoppas jag eftersom det inte fungerar annars!).
En absolut länk anger hela sökvägen till sidan, vilket innebär protokoll, värddator
och eventuella katalognamn innan sidan anges:
http://www.algonet.se/~bjorn_m/index.html
Se Bild 3.1 för en bild av hur katalogstruktur och länkanrop hör ihop.
Bild 3.1
En bild med textlänkar.
I senare lektioner ska vi diskutera hur man organiserar sina sidor och hur man bör
utforma sina länkar. För tillfället går vi igenom mekaniken bakom länkar.
Länkar
<A>
Ett aktivt område definieras med märket <A>. Märket, som betyder anchor
(ankare), omger text eller en bild och talar om för webbläsaren att det som omges av inledande
och avslutande märke ska behandlas på ett särskilt sätt. Om man anger attributet HREF
med tillhörande adress kommer den markerade texten att visas som blå och
understruken. Om man använder en bild som länk omges den av en blå ram (såvida du inte
anger BORDER=0 i märket <IMG>, se avsnittet om Bildlänkar).
När man för muspekaren över text- eller bild länkar ändras pilen till en hand.
Dessutom visas URL-adressen dit länken går längs ner i statusfältet. Märket påverkar inte sidan
i övrigt. Du kan fortfarande ange inställningar för till exempel teckensnitt
och teckensnittsstorlek.
Bild 3.2
En bild med textlänk och bildlänk
HREF
När man definierat en länk (text eller bild) måste man ange vart länken ska peka. Det
gör du med attributet HREF. Genom att omge ett ord eller en mening (det finns
ingen egentlig gräns så länge man håller sig på samma sida) med <A HREF> gör man ordet
till en länk.
Så här kan det se ut:
1997 vann <A HREF="farjestad.html">Färjestad
</A> Elitserien, men i år ligger de sämre till.
Här märker vi ut texten Färjestad med inledande och avslutande <A>. Attributet
HREF sätts att referera till URL-adressen farjestad.html som är den sida som ska öppnas om
en besökare klickar på länken. Texten som visas mellan <A>-märkena har ingen
betydelse för länken. Vi hade kunnat skriva Leksand istället, och ändå hamnat på
Färjestad-sidan. I det här fallet vore det i och för sig att lura besökaren, som hoppas få upp en sida
om Leksands eminenta hockeylag.
Bild 3.3
En länk till sidan farjestad.html
Var noga med att avsluta länktexten med </A>, annars fungerar inte länken.
NAME
I vissa fall vill man kunna referera till ett specifikt ankarmärke, se avsnittet #
ankarreferens nedan. Det gör man genom att infoga attributet NAME i märket Den markerade
texten blir inte blå, eftersom det inte är en länk. Däremot kan man från andra sidor länka
till detta märke. Satsen
<A NAME="avsnitt01">Stycke 1</A>
definierar ett ankare som heter avsnitt01. Det finns inget som hindrar att man
även sätter in HREF för att göra märket till en länk, men det påverkar inte möjligheten
att referera till det aktuella ankaret.
# (ankarreferens)
Med HREF kan man som du redan sett länka till sidor. Men man kan även ange
vilken del sidan som ska visas. Det gör man med hjälp av tecknet # och ett s.k.
ankarnamn. Satsen
Recept på <A HREF="recept.html#nachos">Nacho Sombreros</A>.
kommer att öppna sidan recept.html och därefter söka upp ett ankarmärke vars
NAME-attribut har värdet nachos. I filen som öppnas måste det finnas en text som
markerats med
<A NAME="nachos">Nacho Sombreros</A>
annars öppnas filen som vanligt. Om märket hittas kommer sidan recept.html att
öppnas med rubriken Nacho Sombreros längst upp i webbläsarens fönster.
Om ankaret ligger sist på sidan, eller så långt ner att det inte finns tillräckligt av
sidan kvar nedanför för att fylla upp fönstret kan det hända att rubriken inte visas allra
högst upp, men det kommer a vilket fall att visas på bildskärmen.
Man kan även använda referenser till ankarnamn inom en och samma sida. Då
behöver man inte ange vilken fil som namnet finns i, man skriver bara tecknet # och
ankarnamnet som värde på attributet HREF, så här:
<A HREF="#topp">Tillbaka till sidans början</A>
Om sidans första stycke, eller rubrik, namngivits som topp tar den här länken
besökaren tillbaka till sidans början. Du kan använda den här metoden för att göra
en innehållsförteckning överst på sidan, eller för skapa länkar till vissa viktiga stycken.
TARGET
Om man anger länken enligt ovan ersätts den aktuella sidan med den länkade sidan
i webbläsaren. Genom att använda attributet TARGET kan man öppna den länkade
sidan i en egen webbläsare.
Förra året vann <A HREF="farjestad.html" TARGET="new">
Färjestad</A>Elitserien, men i år ligger de sämre till.
Senast fick de bara oavgjort mot <A HREF="leksand.html"
TARGET= "_top"> Leksand </A>.
Textlänkar
Inledningsvis har vi använt textlänkar för att illustrera hur länkar fungerar. Vi hade
lika gärna kunnat använda bildlänkar eftersom båda fungerar likadant. Det finns dock
ett par inställningar som gäller specifikt för textlänkar.
Färg på länkar
Standardfärgen för en icke besökt länk är blå, en besökt länk är lila och en aktiv länk
(då man klickar på den) är röd. Orsaken till att just dessa färger valdes känner jag inte
till, men de har kommit att bli standard för grafiska webbläsare. Du bör ha ett mycket
bra skäl till att ändra dessa färger för länkar på dina webbsidor.
Färgen på länkar definieras i märket <BODY>. Det finns tre attribut:
- LINK för ej besökta länkar
- VLINK för besökta länkar
- ALINK för den aktiva länken (en länk är aktiv så länge du har klickat
på länken men inte släppt upp musknappen).
Låt oss säga att vi vill att ej besökta länkar ska vara gröna, besökta länkar ska vara
orangea och den aktiva länken ska vara lila. Så här kan koden då se ut (se även Bild 3.4):
<BODY LINK="#00FF00" VLINK="FF9900"ALINK="FF00FF">
Bild 3.4
En bild med anpassade länkfärger
Stil på länkar
Textlänkar är vanligtvis understrukna. (Därav följer att du inte bör stryka under
vanlig text eftersom besökare då luras att tro att det är en länk.) I avsnittet om
hierarkiska stilmallar (CSS) ska vi kika på fler inställningar för textlänkar.
Bildlänkar fungerar exakt som textlänkar. Bilden som anges mellan de två
<A>-märkena blir ett aktivt område som användaren kan klicka på. Hela bilden blir en länk. Om
inget kantlinje (BORDER) anges kommer bilden att omges av en blå ram, se Bild 3.2
på sidan 5. Så här anger du att en bild ska vara länk:
<A HREF="annan_sida.html"><IMG SRC="bild.gif"
BORDER="0"></A>
Den här bilden fungerar som länk till sidan annan_sida.html och den har ingen
blå kantlinje eftersom vi satt BORDER="0". Om du känner för det kan du även ange
text som en del av ovanstående länk. Då visas en bild och sedan texten som blå
och understruken. Det blir kanske inte så vackert, eller ens funktionellt, men det skulle fungera.
MailTo:
En speciell form av länk är MailTo. Sätt in en sådan om du vill att de som besöker
dina webbsidor ska kunna skicka e-post till dig. Formatet påminner om en vanlig länk:
Om du vill kontakta mig så kan du skicka ett
<A HREF="MAILTO:bjorn_m@algonet.se">e-brev</A>
och texten e-brev ser ut som en vanlig textlänk.
Bild 3.5
MailTo:-länk och resulterande dialogruta
I exemplet ovan har MailTo:-länken försetts med ett extra argument,
?subject=Hejsan. Subject används för att ange vad som ska stå i brevets ärende-rad (subject line).
Även idag kan det finnas Internet-leverantörer som inte stödjer
denna länktyp, men det är ganska ovanligt. Kanske har de ett annat sätt
att tillhandahålla den här tjänsten. Prata med din leverantör. I värsta fall
kan du skapa ett formulär där de kan skicka kommentarer till dig.
Klickbara bilder
Tidigare i den här lektionen har vi använt bilder som länkar. Men man kan
åstadkomma mer med bilder - nämligen klickbara bilder eller image maps. Via en klickbar bild
kan man, till skillnad från en bildlänk, komma till olika URL-adresser beroende på var
i bilden man klickar. Hur bilden ser ut har ingen betydelse, det är de angivna
koordinaterna som avgör vilka delar av bilden som ska definieras som länkar.
När du skapar en bild som ska användas på detta sätt bör du se till att
den består av väl avgränsade områden så att det tydligt framgår
var användaren ska klicka.
Det finns olika typer av klickbara bilder, sådana som definieras med hjälp av den
aktuella webbservern och sådana som definieras i den aktuella webbsidan. Skillnaden ligger
främst i hur information skickas till besökarens webbläsare. Jag kommer att gå igenom
den senare metoden eftersom de allra flesta webbläsare numer kan hantera denna typ
av klickbara bilder.
Nu börjar vi
OK, klickbara bilder var det. Här följer ett exempel på en webbsida som utnyttjar
en sådan som en slags innehållsförteckning.
Bild 3.6
En klickbar bild som leder till fem olika webbadresser
Olika områden av bilden är definierade via ett bildschema (image map) enligt
illustrationen nedan.
Bild 3.7
Här är de olika områdena på bilden markerade
När pekaren förs över de olika områdena blir pekaren en hand, och längst ner
på statusraden visas vilken URL som är kopplad till det aktuella området. Om det
finns delar av bilden som inte är kopplade till en länk så förblir pekaren en pil.
USEMAP
Bilden är en vanlig bild som länkas till sidan med märket <IMG>, det nya är
attributet USEMAP. USEMAP används för att, via ett namn, referera till en uppsättning
koordinater som definierar de olika områdena på bilden. Satsen
<IMG SRC="meny.gif" USEMAP="#koordinater">
använder koordinater som definierats med namnet koordinater. Koordinaterna för
bildens områden definieras med märkena <MAP> och <AREA>. Ett bildschema med
två fyrkantiga områden kan se ut så här:
<MAP NAME="koordinater">
<AREA SHAPE="rect" COORDS="40,10,130,130"
HREF="bilder.html>
<AREA SHAPE="rect" COORDS="120,30,200,180"
HREF="spel.html>
</MAP>
<MAP>
Märket <MAP> innehåller bara attributet NAME, som definierar namnet på
bildschemat. Du kan ange vilket namn du vill, så försök göra namnet så beskrivande som möjligt.
Om du planerar att använda samma bildschemat på mer än en sida kan
du spara definitionen i en separat fil som kan anropas från alla sidor.
I exemplet ovan skulle anropet då kunna bli: USEMAP= "filnamn.html# koordinater".
<AREA>
<AREA> innehåller fyra attribut: SHAPE, COORDS, ALT och HREF. Vi går
igenom attributen nedan.
COORDS
Som redan beskrivits ovan anger man olika typer av former i attributet SHAPE. De
olika koordinaterna anges i attributet COORDS. De angivna koordinaterna måste
stämma med den typ av yta som SHAPE påbjuder. Om du anger att du vill skapa en fyrkant,
kan du inte ange centrumpunkt och radie som för en cirkel.
SHAPE
SHAPE anger vilket utseende det definierade området ska ha. Välj mellan rect,
circle, poly och default.
SHAPE="rect"
Med rect definerar du en fyrkantig yta vars övre vänstra och nedre högra hörn du
anger i form av fyra numeriska värden. De fyra värdena är i tur och ordning, övre
vänstra hörnets x-värde, övre vänstra hörnets y-värde, nedre högra hörnets x-värde och
nedre högra hörnets y-värde. (Se Bild 3.8)
Koordinatsystemet utgår från bilden som anropas via märket <IMG>. Bildens övre
vänstra hörn har koordinaten (0,0). Det nedre högra hörnet har ett koordinat som är
identiskt med bildens bredd och höjd. Om bilden är 250 bildpunkter bred och 140
bildpunkter hög får det nedre högra hörnet koordinaten (250,140). En aktiv yta får givetvis
inte sträcka sig utanför bildens koordinater.
Bild 3.8
Det definierade området börjar 83 bildpunkter från vänster, 53 punkter
från övre kanten, och slutar 276 punkter från vänster och 150 punkter
från övre kanten av koordinatsystemet.
SHAPE="circle"
Precis som namnet antyder kan man med detta attribut definiera en cirkulär yta.
Ange tre värden, x- och y-värde för cirkelns mittpunkt samt cirkelns radie (d.v.s.
avståndet från centrumpunkten ut till cirkelns linje. Satsen
<MAP NAME="meny">
<AREA SHAPE="circle" COORDS="210,110,165"
HREF="bjorn.html>
</MAP>
definierar en cirkel vars centrum ligger 210 bildpunkter till höger om det övre
vänstra hörnet, 110 bildpunkter nedåt från bildens övre kant räknat och som har en radie på 82
bildpunkter (vilket ger en diameter på 164 bildpunkter. Definitionen används i Bild 3.9.
Observera att radien inte bör överstiga xy-koordinaterna eftersom en del
av området då hamnar utanför bilden.
Bild 3.9
En cirkulär yta.
SHAPE="poly"
Den mest avancerade ytan är månghörningen (polygon). Du definierar själv
hörnpunkter för den klickbara ytan. Månghörningen kan bestå av upp till 100 xy-koordinater,
som anges i samma ordning som för rect. Satsen
<MAP NAME="meny">
<AREA SHAPE="poly" COORDS="105,35, 173,97, 155,107,
131,75 98,108, 72,102 58,109 26,103"
HREF="pyramid.html>
</MAP>
definierar en månghörning som börjar med koordinaten (105,35), och som
sedan fortsätter via (173,97), (155,107), (131,75), (98,108), (72,102), (58,109) till
(26,103) för att slutligen knytas ihop med den första koordinaten. Du behöver inte ange
ett slutkoordinat eftersom samma koordinat som först angavs, (105,35), också
fungerar som avslutande koordinat. eftersom månghörningen måste slutas till en
sammanhängande yta.
Bild 3.10
En månghörning
SHAPE="default"
Ytor på en bild som inte är aktiva genom någon annan
SHAPE/COORDS-definition täcks in av alternativet default. Om man klickar utanför alla aktiva områden
kommer default-alternativet att aktiveras. Då kan man till exempel visa en sida som förklarar
hur den klickbara bilden ska användas.
Om flera aktiva ytor överlappar varandra, d.v.s. anger samma yta som aktiv så tar
den första definitionen överhand. Den ligger överst i hierarkin av aktiva ytor.
ALT
Det här attributet har vi använt tidigare. Text som du anger som värde till ALT visas
när du för pekaren över den definierade ytan.
HREF
HREF innehåller adressen till den sida som ska visas när användaren klickar inom
den specificerade ytan. Anropet fungerar precis som vanliga länkar.
NOHREF
Om man vill kan man skapa en länk som inte leder någonstans (varför man nu
skulle vilja det).
Exempel
Här följer ett exempel på en sida som använder länkar och klickbara bilder.
Resultatet ser du i Bild 3.11:
Exempel 3-1: Bildschema
<HTML>
<HEAD>
<TITLE>BeM Skrivbyrå - Startsida</TITLE>
</HEAD>
<BODY BACKGROUND="bakgrund.gif">
<!--; schema för menyn till BeM Skrivbyrå --;>
<MAP NAME="meny">
<AREA SHAPE="rect" COORDS="31,248,144,315"
HREF="dtp.html" ALT="DTP">
<AREA SHAPE="rect" COORDS="200,84,278,196"
HREF="bilder.html" ALT="Bilder">
<AREA SHAPE="circle" COORDS="239,277,52"
HREF="about.html" ALT="Om BeM Skrivbyrå">
<AREA SHAPE="poly" COORDS="134,118,147,130, 134,210,89,
220,48,219,27,201,39,171,89,129" HREF="serier.html"
ALT="Serier">
<AREA SHAPE="default" HREF="forklaring.html">
</MAP>
<!--; här börjar sidans innehåll--;>
<CENTER>
<IMG SRC="vaelkommen.gif"><BR>
<IMG SRC="space.gif" WIDTH="1" HEIGHT="20"><BR>
<IMG SRC="bem_skriv.jpg" USEMAP="#meny" BORDER="0"><BR>
<IMG SRC="space.gif" WIDTH="1" HEIGHT="20"><BR>
<HR WIDTH="50%">
[ <A HREF="bilder.html">Bilder</A>
<A HREF="spel.html">Spel</A>
<A HREF="dtp.html">DTP</A>
<A HREF="about.html">Om BeM Skrivbyrå</A> ]
</CENTER>
</BODY>
</HTML>
Sidan består av en bakgrund, Den klickbara bilden innehåller fyra aktiva områden,
som var och en tar användaren till en ny sida. Det finns även en default-sida dit
användaren kommer om han klickar utanför bildens aktiva områden.
Bild 3.11
En klickbara bild
Sammanfattning
I det här kapitlet har vi diskuterat länkar, i form av text, bilder och klickbara bilder.
Att skapa en länk är ganska enkelt, men det är en mycket användbar teknik.
Märken
Frågor
-
Vilket märke definierar ett aktivt område?
-
Hur anger du att en HREF-länk ska öppna den refererade sidan i ett nytt fönster?
-
Hur anger du att sidan film_tv.html ska öppnas och visa ett textstycke
som definierats med namnet Brassed_off?
-
Hur ändrar du färgen på en ej besökt textlänk?
-
Hur skapar du en bildlänk som leder till sidan klanen.html och som
använder bilden klanbild.gif?
-
Hur definierar man en rund aktiv yta som är 150 bildpunkter i diameter,
200 punkter från övre kanten och 320 punkter från högra kanten av den
aktuella bilden?
-
Ange att en bild ska använda <MAP>-definitionen bild.
Svaren på frågorna finns i Bilaga A.
Senast uppdaterad 99-08-09
|