2 Lenker, bilder og lister
I dette kapitlet lager du et nettsted med flere sider for Kafé Kanelsnurr. Forsiden heter alltid index.html. Lagre alt du lager i dette kapitlet i mappen kap02-lenker.
2.1 Lenker mellom sider
kafe/index.html
Med elementet <a> lager du en lenke. Attributtet href forteller hvilken side lenken går til.
- Les koden ovenfor, og gjett hva nettleseren viser.
- Lag mappen
kafeinne i mappenkap02-lenker, med filenindex.html. Skriv en hel nettside med tittelen Kafé Kanelsnurr, og legg kodelinjene ovenfor inne i<body>.
Kopier min-forste-nettside.html fra kapittel 1 over til den nye mappen, gi kopien navnet index.html, og endre innholdet. Da slipper du å skrive <head> på nytt.
- Åpne siden i nettleseren, og klikk på lenken. Hva skjer?
- Lag en ny fil som heter
meny.htmli mappenkafe. Siden skal ha overskriften Meny og kodelinja nedenfor. Klikk deg fram og tilbake mellom sidene.
- Endre
href="meny.html"tilhref="menyen.html"iindex.html. Klikk på lenken. Hva skjer? Rett feilen. - Legg til kodelinja
<p><a href="https://www.yr.no">Sjekk været før du kommer</a></p>iindex.html. Hva er forskjellen på denne adressen ogmeny.html?
En adresse som begynner med https://, er en fullstendig adresse til et nettsted. En adresse som bare er et filnavn, peker til en fil i den samme mappen.
En skjermleser kan lese opp alle lenkene på en side etter hverandre, uten teksten rundt.
Kode A
<p><a href="meny.html">Klikk her</a> for å se menyen.</p>Kode B
<p>Se <a href="meny.html">menyen vår</a>.</p>- Hvilken av lenkene ovenfor er best for en som bruker skjermleser? Forklar hvorfor.
Hvorfor er «Klikk her» en dårlig lenketekst? Gi meg tre eksempler på bedre lenketekster til en nettside for en kafé.
2.2 Lenker til e-post, telefon og steder på siden
kafe/index.html
En lenke kan også ringe et telefonnummer, åpne e-postprogrammet eller gå til et sted på den samme siden. Attributtet id gir et element et navn som en lenke kan gå til.
- Les koden ovenfor. Hva tror du skjer når du klikker på hver av de tre lenkene?
- Legg til kodelinjene nederst i
<body>iindex.html. Legg til så mange avsnitt over åpningstidene at siden blir lengre enn vinduet. Klikk på den første lenken. Hva skjer? - Klikk på de to andre lenkene på datamaskinen. Hva skjer?
- Åpne siden på en mobil hvis du kan, eller spør en medelev hva som skjer på mobilen hennes. Hvorfor er slike lenker særlig nyttige på mobil?
Telefonnummeret i tel: skrives uten mellomrom, og med landskoden +47 foran. Teksten i lenken kan du skrive slik du vil.
- Endre
id="apningstider"tilid="åpningstider". Virker lenken fortsatt? Endre tilbake.
Skriv id med små bokstaver, uten mellomrom og uten æ, ø og å. Bruk bindestrek mellom ordene, for eksempel id="dagens-tilbud".
- Lag en lenke nederst på siden som går tilbake til toppen. Gi
<h1>enid, og lag lenken til den.
2.3 Bilder og alternativ tekst
Med <img> setter du inn et bilde. Attributtet src sier hvilken bildefil som skal vises. Attributtet alt er en alternativ tekst, som beskriver bildet for dem som ikke kan se det.
- Les koden ovenfor, og gjett hva nettleseren viser.
- Last ned bildet
kanelsnurr.jpgfra nettressursen, eller bruk et bilde du har tatt selv. Lagre bildet i mappenkafe. - Legg til kodelinja ovenfor under
<h1>iindex.html. Har du brukt et eget bilde, må du endre filnavnet og den alternative teksten. - Endre
width="300"tilwidth="150". Hva skjer? - Endre
src="kanelsnurr.jpg"tilsrc="kanelsnurr.png". Hva viser nettleseren nå? Rett feilen. - Har
<img>en sluttagg? Inspiser bildet for å sjekke.
Nedenfor ser du fire alternative tekster til det samme bildet.
Kode A
alt="bilde"Kode B
alt="kanelsnurr.jpg"Kode C
alt="En kanelsnurr på et hvitt fat"Kode D
alt="Et nydelig bilde av byens beste kanelsnurr som du bare må smake"- Hvilken alternativ tekst er best? Forklar hva som er galt med de tre andre.
Et bilde som bare er pynt, skal ha en tom alternativ tekst: alt="". Da hopper skjermleseren over bildet.
Jeg skal skrive en alternativ tekst til et bilde av [beskriv bildet]. Ikke skriv teksten for meg. Still meg heller spørsmål som hjelper meg å finne ut hva som er viktig å få med.
2.4 Bilder med bildetekst
kafe/index.html
Med <figure> og <figcaption> får bildet en bildetekst. Bildeteksten kan alle se, og den forteller noe om bildet. Den alternative teksten beskriver hva bildet viser, for dem som ikke kan se det.
- Les koden ovenfor, og gjett hvordan bildet ser ut nå.
- Legg bildet i
index.htmlinn i<figure>, og legg til bildeteksten. - Hva er forskjellen på den alternative teksten og bildeteksten? Hvem leser hva?
Bilder på nettet lagres i ulike filformater.
| Format | Passer til |
|---|---|
| JPG | fotografier |
| PNG | logoer, skjermbilder og bilder med gjennomsiktig bakgrunn |
| SVG | logoer og ikoner som skal være skarpe i alle størrelser |
| WebP | fotografier og grafikk, med mindre filer enn JPG og PNG |
- Hvilket format ville du brukt til logoen til kafeen? Hvilket ville du brukt til et bilde av kafeen?
Bruk bilder du har tatt selv, eller bilder du har lov til å bruke, for eksempel med en Creative Commons-lisens. Skriv i bildeteksten hvem som har tatt bildet.
- Finn et bilde av en kopp kaffe med en Creative Commons-lisens. Legg det inn på menysiden, og skriv navnet på fotografen og lisensen i bildeteksten.
2.5 Punktlister og nummererte lister
kafe/index.html
Med <ul> lager du en punktliste, og med <ol> en nummerert liste. Hvert punkt i lista står i et eget <li>-element. Forkortelsene står for unordered list, ordered list og list item.
- Les koden ovenfor, og gjett hva nettleseren viser.
- Erstatt åpningstidene i
index.htmlmed kodelinjene ovenfor. - Endre
<ul>til<ol>og</ul>til</ol>. Hva endrer seg? Hvilken type liste passer best til åpningstider?
Bruk <ol> når rekkefølgen betyr noe, og <ul> når den ikke gjør det.
- Endre tilbake til
<ul>. Lag en ny side som heteroppskrift.html, med oppskriften på kanelsnurrer. Ingrediensene skal stå i en punktliste, og framgangsmåten i en nummerert liste. Siden kan for eksempel se slik ut:
Nettleser
- Lister kan ligge inne i lister. Les koden nedenfor, og gjett hvordan den ser ut. Legg den deretter inn på menysiden.
kafe/meny.html
Lenkene til sidene på nettstedet er også en liste. Derfor er det vanlig å skrive dem i en <ul>.
- Erstatt lenken Se menyen i
index.htmlmed lista nedenfor. Legg den samme lista øverst imeny.htmlogoppskrift.html.
kafe/index.html
En skjermleser sier hvor mange punkter en liste har, før den leser punktene. Hvorfor tror du det er nyttig for en som bruker skjermleser?
Kafeen har sendt oppskriften på kakao som ren tekst. Lag siden
kakao.htmli mappenkafe, og merk opp teksten nedenfor med overskrifter og riktig type liste. Lag en lenke til siden i lenkelista.
kakao.txt
Varm kakao
Til fire kopper
Ingredienser
8 dl melk
4 ss kakaopulver
3 ss sukker
1 klype salt
Slik gjør du
Rør sammen kakaopulver, sukker og salt i en kjele.
Tilsett litt av melka, og rør til det blir en jevn masse.
Tilsett resten av melka.
Varm opp under omrøring, men ikke la kakaoen koke.
2.6 Mapper og relative stier
Mappe
kafe
├── index.html
├── meny.html
├── oppskrift.html
├── bilder
│ └── kanelsnurr.jpg
└── sider
└── om-oss.html
Når et nettsted får mange filer, legger vi dem i mapper. En adresse som bilder/kanelsnurr.jpg kalles en relativ sti. Den forteller veien fra filen du står i, til filen du vil vise. Skråstreken / betyr «inn i mappen», og ../ betyr «opp én mappe».
- Lag mappen
bilderinne i mappenkafe, og flyttkanelsnurr.jpgdit. Last innindex.htmlpå nytt. Hva skjer med bildet? - Endre
src="kanelsnurr.jpg"tilsrc="bilder/kanelsnurr.jpg"iindex.html. Sjekk at bildet vises igjen. - Lag mappen
sider, og lag filenom-oss.htmlder. Siden skal ha overskriften Om oss, og lenken nedenfor.
- Legg til et punkt med en lenke til
om-oss.htmli lenkelista på forsiden. Hvilken adresse må du skrive ihref?
Bildet kanelsnurr.jpg skal også vises på siden om-oss.html. Nedenfor ser du fire kodebiter. Bare én av dem viser bildet.
Kode A
<img src="kanelsnurr.jpg" alt="">Kode B
<img src="bilder/kanelsnurr.jpg" alt="">Kode C
<img src="../bilder/kanelsnurr.jpg" alt="">Kode D
<img src="../kanelsnurr.jpg" alt="">- Finn kodebiten som viser bildet. Forklar hvor de tre andre leter etter bildet.
- Legg lenkelista øverst i
om-oss.htmlogså. Hvilke adresser må endres for at lenkene skal virke derfra? Sjekk at alle lenkene virker fra alle sidene.
Bruk aldri en adresse som C:\Users\amira\kafe\bilder\kanelsnurr.jpg i koden. Den virker bare på din egen datamaskin, og ikke når nettstedet er lagt ut på nettet.
Her er mappestrukturen til nettstedet mitt: [lim inn mappestrukturen]. Still meg fem spørsmål om relative stier mellom filene. Still ett spørsmål om gangen, og si fra om svaret mitt er riktig.
Oppsummering
I dette kapitlet har du laget et lite nettsted med flere sider. Sidene har lenker mellom seg, bilder med alternativ tekst og bildetekst, og lister. Du har også lært å bruke relative stier når filene ligger i ulike mapper.
Lenker
| Adressen begynner med | Lenken går til |
|---|---|
et filnavn, som meny.html |
en side på det samme nettstedet |
https:// |
et annet nettsted |
# |
elementet med den samme id på siden |
tel: |
et telefonnummer |
mailto: |
en e-postadresse |
Bilder
Merk deg følgende:
- Den alternative teksten beskriver bildet for dem som ikke kan se det.
- Et bilde som bare er pynt, får
alt="". - Bruk bare bilder du har lov til å bruke, og skriv hvem som har tatt dem.
Lister
Relative stier
| Fra | Til | Adresse |
|---|---|---|
index.html |
meny.html |
meny.html |
index.html |
bilder/kanelsnurr.jpg |
bilder/kanelsnurr.jpg |
sider/om-oss.html |
index.html |
../index.html |
sider/om-oss.html |
bilder/kanelsnurr.jpg |
../bilder/kanelsnurr.jpg |
Oppgaver
Oppgave 2.1
oppg1-rett-feil.html
Koden ovenfor har fire feil. Skriv av koden i filen oppg1-rett-feil.html, og rett alle feilene.
Oppgave 2.2
<li>Te</li></ul><li>Drikke<ul><li>Kaffe</li></li><ul></ul>
Sett sammen kodelinjene i filen oppg2-drikke.html til en liste med punktet Drikke, og en liste med Kaffe og Te inne i punktet.
Oppgave 2.3
Lag filen oppg3-apper.html med en nummerert liste over de tre appene du bruker mest, med den du bruker mest øverst. Hver app skal være en lenke til nettstedet til appen.
Oppgave 2.4
Skriv en god alternativ tekst til hvert av disse bildene:
- et bilde av kafeens logo, som også er en lenke til forsiden
- et bilde av to personer som drikker kakao ved et vindu
- et bilde av en blomsterbukett som bare er pynt på siden
Oppgave 2.5
Mappe
klubben
├── index.html
├── bilder
│ └── logo.png
└── sider
├── kontakt.html
└── trening.html
Skriv adressen i href eller src for hver av disse:
- en lenke fra
index.htmltilkontakt.html - en lenke fra
kontakt.htmltilindex.html - logoen på siden
trening.html - en lenke fra
kontakt.htmltiltrening.html
Oppgave 2.6
Kontaktlæreren har sendt informasjonen om klasseturen som ren tekst. Lag filen oppg6-klassetur.html, kopier teksten inn i <body>, og merk den opp.
- Bestem hvilke lister som skal være punktlister, og hvilke som skal være nummererte.
- Teksten i hakeparentes beskriver et bilde. Bruk et eget bilde, og skriv en god alternativ tekst.
- Adressene i parentes skal bli lenker med en god lenketekst. Selve adressen skal ikke stå i teksten.
klassetur.txt
Klassetur til fornøyelsesparken
Vi drar til fornøyelsesparken fredag 6. juni. Billettene er betalt av skolen.
[Bilde: en berg-og-dal-bane mot blå himmel]
Program
Oppmøte ved hovedinngangen klokka 8.45
Bussen går klokka 9
Fri tid i parken
Bussen går hjem klokka 16
Husk å ta med
matpakke
vannflaske
regntøy
penger til is
Kart og åpningstider finner du på nettsiden til parken (https://fornoyelsesparken.example).
Spørsmål? Send en e-post til kontaktlæreren (larer@skolen.example), eller ring 123 45 678.
B-oppgaver
Oppgave 2.7
Lag siden oppg7-hobby.html om en hobby du har, med minst fire <h2>-overskrifter. Øverst på siden skal det stå en liste med lenker til hver av overskriftene, og nederst en lenke tilbake til toppen.
Oppgave 2.8
Lag et lite nettsted i mappen oppg8-fotoside om noe du liker å ta bilder av. Det skal ha en forside, index.html, og to sider med tre bilder hver som du har tatt selv. Hvert bilde skal ha alternativ tekst og bildetekst. Alle sidene skal ha den samme lenkelista øverst, og bildene skal ligge i mappen bilder.
Oppgave 2.9
Et bilde kan også være en lenke. Legg <img> inne i <a>, slik at logoen til kafeen blir en lenke til forsiden på alle sidene i kafe. Hva bør den alternative teksten til logoen være nå? Forklar hvorfor.
Oppgave 2.10
Lagre det samme bildet som JPG, PNG og WebP, og i to ulike størrelser. Sammenlign filstørrelsene. Bruk fanen Network i utviklerverktøyene til å finne ut hvor mye data nettleseren laster ned når du åpner kafe/index.html. Hvor mye data blir det til sammen hvis 1000 personer åpner forsiden i løpet av en dag? Hva kan du gjøre for å redusere mengden data?