Top Banner
HTML Introduktion till HyperText Markup Language 1
119

VT17 - DA355A - Introduktion HTML

Apr 14, 2017

Download

Education

Anton Tibblin
Welcome message from author
This document is posted to help you gain knowledge. Please leave a comment to let me know what you think about it! Share it to your friends and learn new things together.
Transcript
Page 1: VT17 - DA355A - Introduktion HTML

HTMLIntroduktion till HyperText Markup Language

1

Page 2: VT17 - DA355A - Introduktion HTML

Frågor innan vi börjar?

2

Page 3: VT17 - DA355A - Introduktion HTML

Dagens föreläsning

• Snabb introduktion till webben• Varför använder vi HTML?• Ett första HTML-dokument• Metadata• Teckenkodning• Validera sin kod• Ett dokuments struktur – dokumentträdet• Länkar & bilder• Punktlistor• Tabeller• Formulär

3

Page 4: VT17 - DA355A - Introduktion HTML

"Internet är en fluga"

- Ines Junéa Uusmann (kommunikationsminister, 1996)

Page 5: VT17 - DA355A - Introduktion HTML
Page 6: VT17 - DA355A - Introduktion HTML

Internet och Webben är inte samma sakViktiga begrepp att hålla isär

Page 7: VT17 - DA355A - Introduktion HTML
Page 8: VT17 - DA355A - Introduktion HTML
Page 9: VT17 - DA355A - Introduktion HTML
Page 10: VT17 - DA355A - Introduktion HTML
Page 11: VT17 - DA355A - Introduktion HTML
Page 12: VT17 - DA355A - Introduktion HTML
Page 13: VT17 - DA355A - Introduktion HTML

Webben – vad har hänt?

Page 14: VT17 - DA355A - Introduktion HTML

Tim Berners-Lee

• Tidigt 90-tal utvecklades standarderna• HTML • HTTP

• Målet var att genom länkar• Ge möjlighet att få tillgång till

information var som helst• Möjlighet att dela information

Page 15: VT17 - DA355A - Introduktion HTML

Tidigt 90-tal

• Textbaserade webbsidor, en enda kolumn• Världens första webbläsare• World Wide Web Consortium(W3C)

Page 16: VT17 - DA355A - Introduktion HTML

Hur såg webbsidorna ut?

http://www.newscientist.com/data/images/ns/cms/dn18158/dn18158-1_708.jpg

1991

Page 17: VT17 - DA355A - Introduktion HTML

Mosaic – Tjoho bilder!

http://www.nsf.gov/od/lpa/news/03/images/mosaic.6beta.jpg

1993

Page 18: VT17 - DA355A - Introduktion HTML

Mitten av 90-tal

• Layout (genom tabell) strukturerar upp webbsidorna• Webbsidorna har flera kolumner• JavaScript (Mocha) introduceras• Animerad text, skrollande text, GIF-bilder

Page 19: VT17 - DA355A - Introduktion HTML

Hur såg webbsidorna ut?

Page 20: VT17 - DA355A - Introduktion HTML

Sent 90-tal

• Flash introducerades• En kombination av flash och HTML-kod byggde upp webbsidorna• Flashbaserad navigation• (massor av onödiga animationer)

Page 21: VT17 - DA355A - Introduktion HTML

Hur såg webbsidorna ut?

Page 22: VT17 - DA355A - Introduktion HTML

Tidigt => mitten av 2000-tal

• CSS introduceras• JavaScript tar över allt mer på webben• Formulär på webben

Page 23: VT17 - DA355A - Introduktion HTML

2002-

Page 24: VT17 - DA355A - Introduktion HTML

Nytt sätt att använda webben

http://www.pbdink.com/blog/wp-content/uploads/2013/08/networks.jpg

Page 25: VT17 - DA355A - Introduktion HTML

Antal webbsidor

Page 26: VT17 - DA355A - Introduktion HTML

Webbläsare idag

http://www.soft32.com/blog/wp-content/uploads/2013/01/web-browsers.jpg

Page 27: VT17 - DA355A - Introduktion HTML

Webbläsare - statistik

Page 28: VT17 - DA355A - Introduktion HTML

Statistik - Sverige

Page 29: VT17 - DA355A - Introduktion HTML

Vad är en webbläsare?

Page 30: VT17 - DA355A - Introduktion HTML

Webbläsare

• Tolkar kod (html m.m.) och visar upp det för användaren.

Page 31: VT17 - DA355A - Introduktion HTML

Hur fungerar det?

Internet

Klient

Klient

Server

Page 32: VT17 - DA355A - Introduktion HTML

Svar?

• Svaret är i form av HTML, som strukturerar upp den information som skickas från servern till oss

• HTML-dokumentet kan sedan inkludera bl.a. text, bilder, formgivning av sidan, interaktiva element osv.

Page 33: VT17 - DA355A - Introduktion HTML

Resultat

• En webbläsare visar oss en webbsida efter att ha renderat ett HTML-dokument

Page 34: VT17 - DA355A - Introduktion HTML

Webbsida

• Består av olika sorters kod• HTML• CSS• JavaScript

Page 35: VT17 - DA355A - Introduktion HTML

Vad består en webbplats av?

JavaScript

CSS

HTML

Innehåll

Interaktivitet

Utformning

Struktur

Innehåll

Page 36: VT17 - DA355A - Introduktion HTML

HTML

• Hypertext Markup Language• Märkspråk• Används för att ge dokument en struktur – vad är vad?• HTML byggs upp utav element som märker upp vilken typ av innehåll

som finns på sidan

Page 37: VT17 - DA355A - Introduktion HTML

HTML som märkspråk

Page 38: VT17 - DA355A - Introduktion HTML

Element?

• Det finns olika element som representerar olika innehåll, t.ex. rubriker, paragrafer, listor m.m.

• Grundprincipen är att det finns en start- och ett sluttagg. Det innehåll som finns mellan dessa taggar tilldelas elementets formatiering.

• Kan även ha attribut

Page 39: VT17 - DA355A - Introduktion HTML

Ett HTML-dokuments struktur

<!DOCTYPE HTML><html>

<head><meta charset=utf-8"><title>Min sida</title>

</head>

<body><!-- Här kommer innehåll som visas för användaren ligga -->

</body></html>

Element som alltid ingår i ett HTML-dokument:- <html>, rotelementet- <head>, dokumenthuvud (info om dokumentet)- <title>, dokukmentets titel- <body>, dokumentets innehåll

Page 40: VT17 - DA355A - Introduktion HTML

Exempel på HTML-strukturText-editor Webbläsare

Page 41: VT17 - DA355A - Introduktion HTML

HTML-dokumentet i helhet

Page 42: VT17 - DA355A - Introduktion HTML
Page 43: VT17 - DA355A - Introduktion HTML

Vad består en webbplats av?

JavaScript

CSS

HTML

Innehåll

Interaktivitet

Utformning

Struktur

Innehåll

43

Page 44: VT17 - DA355A - Introduktion HTML

Praktiska färdigheter

http://joelglovier.com/img/wallpaper/power-3.jpg44

Page 45: VT17 - DA355A - Introduktion HTML

Snabb repetition

Page 46: VT17 - DA355A - Introduktion HTML

En webbsida

• Webbsida:- Vad webbläsaren visar genom att rendera ett HTML-dokument

• HTML-dokument:- Innehåll uppmärkt enligt HTML

• HTML-fil:- Ett HTML-dokument sparat i en text-fil

46

Page 47: VT17 - DA355A - Introduktion HTML

Ett HTML-dokument

• En serie nästlade element• Vars ordning avgör strukturen• Och vars typ och egenskaper beskriver innehållet

• Kan representeras med ett dokumentträd

47

Page 48: VT17 - DA355A - Introduktion HTML

HTML-dokument som träd

48

Page 49: VT17 - DA355A - Introduktion HTML

49

Page 50: VT17 - DA355A - Introduktion HTML

HTML-dokumentet i helhet

50

Page 51: VT17 - DA355A - Introduktion HTML

MetadataData om data

51

Page 52: VT17 - DA355A - Introduktion HTML

Metadata

• Beskriver vilket innehåll som finns på HTML-sidan• Det kan vara saker som:

- Sidans titel- Vilken teckenkodning som används- Vilket språk sidan är på- Vilka författare som gjort sidan- Funktion & utseende på sidan

• Detta skrivs inom <head>-taggen och berör hela dokumentet.

52

Page 53: VT17 - DA355A - Introduktion HTML

Metadata, exempel

53

Page 54: VT17 - DA355A - Introduktion HTML

Regler & Standarder då?

54

Page 55: VT17 - DA355A - Introduktion HTML

55

Page 56: VT17 - DA355A - Introduktion HTML

56

Page 57: VT17 - DA355A - Introduktion HTML

57

Page 58: VT17 - DA355A - Introduktion HTML

58

Page 59: VT17 - DA355A - Introduktion HTML

59

Page 60: VT17 - DA355A - Introduktion HTML

60

Page 61: VT17 - DA355A - Introduktion HTML

Mer om text<p>, <i>, <em>, <b>, <strong>

62

Page 62: VT17 - DA355A - Introduktion HTML

Paragrafer: <p>

63

Page 63: VT17 - DA355A - Introduktion HTML

Hur man inte ska göra

64

Page 64: VT17 - DA355A - Introduktion HTML

Fetstilt: <strong>

65

Page 65: VT17 - DA355A - Introduktion HTML

Kursivt: <em>

66

Page 66: VT17 - DA355A - Introduktion HTML

Länkar

67

Page 67: VT17 - DA355A - Introduktion HTML

Sökvägar, hur länkar man till andra sidor (eller källor)?

68

Page 68: VT17 - DA355A - Introduktion HTML

Relativa sökvägar

• En relativ sökväg innebär att man utgår från den plats som HTML-filen som man länkar från finns.

• Detta innebär att man inte behöver oroa sig över vilken URL (webbadress) som HTML-filen man länkar till har - bara man vet var den ligger i förhållandet till HTML-filen som man länkar från.

• Relativa sökvägar används när sidan man vill länka till ligger inom webbplatsen.

69

Page 69: VT17 - DA355A - Introduktion HTML

Exempel relativa sökvägar (1)

• Vår filstruktur• Vi vill från filen ”index.html” länka till ”about.html”

70

Page 70: VT17 - DA355A - Introduktion HTML

Exempel relativa sökvägar (2)

• Vår filstruktur• Vi vill från filen ”index.html” länka till ”about.html”

71

Page 71: VT17 - DA355A - Introduktion HTML

Bilder: <img>

72

Page 72: VT17 - DA355A - Introduktion HTML

Bilder: relativa och absoluta sökvägar

73

Page 73: VT17 - DA355A - Introduktion HTML

Bilder: attributet ”alt”

• Om en bild inte kan visas – då vill vi berätta vad bilden föreställer!• En annan anledning att använda alt-attributet är att datorer som läser upp

webbsidor (t.ex. hjälpmedel för synskadade) är att de kan berätta att det finns en bild, samt genom alt-attributet vad denna bild föreställer. Detta kan bli ännu mer användbart om t.ex. bilden visar en graf där alt-attributet berättar om vad som visas på grafen.

74

Page 74: VT17 - DA355A - Introduktion HTML

Listor: <ul>, <ol>, <li>

• En lista i HTML innebär alltid minst två element. Det första är antingen:

• <ul> (för en oordnad lista)• <ol> (för en ordnad lista).

• För att sedan lägga till punkter i listan användaren man elementet <li>

75

Page 75: VT17 - DA355A - Introduktion HTML

Nästlade listor, ”listor i listor”

76

Page 76: VT17 - DA355A - Introduktion HTML

DemoLänkar, bilder, listor

77

Page 77: VT17 - DA355A - Introduktion HTML

Bra länkar

• http://www.w3schools.com/• https://developer.mozilla.org/en-US/docs/Web• http://reference.sitepoint.com/html

78

Page 78: VT17 - DA355A - Introduktion HTML

Andra viktiga element i HTMLTabeller & Formulär

Page 79: VT17 - DA355A - Introduktion HTML

TabellerI HTML

Page 80: VT17 - DA355A - Introduktion HTML

Tabeller

• Tabeller är ett kraftfullt sätt att strukturera upp information• Strukturera upp data vid informationspresentation

• Tänk ”excel”

Page 81: VT17 - DA355A - Introduktion HTML

Tabeller - uppbyggnad

• En tabell är, precis som i excel, uppbygg av rader och kolumner• Tabeller består oftast utav:

• Tabellhuvud• Tabellrubriker

• Tabellkropp• Tabelldata

• Tabellfot• Tabellsammanfattning

• En tabell består således utan• Rader• Kolumner

Page 82: VT17 - DA355A - Introduktion HTML

Grundläggande element för tabeller

• <table> Skapar en tabell• <caption> Beskrivning/rubrik för tabell• <tr> tabellrad (table row)• <th> Rubrik-kolumn (table header)• <td> Data-kolumn (table data)

• Obs, alla taggarna har start- och slutttagg.

Page 83: VT17 - DA355A - Introduktion HTML

Dags att rita tabeller!… och se hur det fungerar i HTML

Page 84: VT17 - DA355A - Introduktion HTML

Mer avancerade tabellelement

• <thead> Tabellhuvud• <tfoot> Tabellfot• <tbody> Tabellkropp

• T.ex.<table>

<thead>…</thead><tfoot>…</tfoot><tbody>…</tbody>

</table>

Page 85: VT17 - DA355A - Introduktion HTML

… fler möjligheter med tabeller

• Det finns lägen då man inte vill att alla rader/kolumner ska se exakt lika ut:

• En kolumn som sträcker sig över x antar kolumner

Page 86: VT17 - DA355A - Introduktion HTML

Men behöver man <thead>, <tbody>, <tfoot>?• Det är semantiskt bra att förstå vilka delar av tabellen som innehåller

vilken information• Det är enklare att formge de olika delarna av tabellen• Det är enklare för andra att förstå tabellen• Man kan t.ex. ”låsa” fast tabellhuvudet & tabellfoten och skrolla

tabellinnehållet

Page 87: VT17 - DA355A - Introduktion HTML

… fler möjligheter med tabeller

• Det finns lägen då man inte vill att alla rader/kolumner ska se exakt lika ut:

• En kolumn som sträcker sig över x antar rader

Page 88: VT17 - DA355A - Introduktion HTML

Frågor om tabeller?

Page 89: VT17 - DA355A - Introduktion HTML

FormulärAtt skicka data genom HTML

Page 90: VT17 - DA355A - Introduktion HTML
Page 91: VT17 - DA355A - Introduktion HTML

Varför formulär?

• Vi vill skicka data till en server• Inloggningsuppgifter• Skapa twitter-post• Göra facebook-inlägg• Lägga till annan data i olika databaser

• Vi ska i denna kurs bara fokusera på att skicka data inte vad som faktiskt händer med den när den kommer till servern.

Page 92: VT17 - DA355A - Introduktion HTML

När används formulär?

Page 93: VT17 - DA355A - Introduktion HTML
Page 94: VT17 - DA355A - Introduktion HTML

Översikt - olika element i ett formulär

Knapp

Text-fält (stort)

Text-fält

Checkboxar

Radioknappar

Drop-down meny

Page 95: VT17 - DA355A - Introduktion HTML

Varför används formulär?• Ett sätt att skicka data från klienten (webbläsaren) till en server

- Spara data- Validera data- Analysera data

Page 96: VT17 - DA355A - Introduktion HTML

Hur fungerar det?

Internet

Klient

Klient

Server

firstName=AntonlastName=Tibblincourse=DA344A

Page 97: VT17 - DA355A - Introduktion HTML

Att skapa ett formulär i HTML

• Taggen <form> omsluter ett formulär. <form> har olika attribut:

• ”action”- Var formuläret ska skickas

• ”method”- På vilket sätt den data som användaren angett ska skickas. Antingen GET eller POST

Page 98: VT17 - DA355A - Introduktion HTML
Page 99: VT17 - DA355A - Introduktion HTML

Komponenterna igen (de vanligaste)

Knapp

Text-fält (stort)

Text-fält

Checkboxar

Radioknappar

Drop-down meny

Page 100: VT17 - DA355A - Introduktion HTML

Inhämtning av data från användaren

• Detta kan göras av taggen <input> som kan representera olika delar av ett formulär

• Notera att <input> är en öppen tagg och saknar sluttagg• Attribut:

- Name Namnger input-elementet- Value Ev. värde på en knapp/i ett textfält- Type Vilken typ elementet ska vara t.ex.

knapp/textfält/radioknapp/checkbox osv.

Page 101: VT17 - DA355A - Introduktion HTML

Att skapa input-element

Page 102: VT17 - DA355A - Introduktion HTML

Att skicka data med formulär

• Data struktureras upp med:- Namn, hur man identifierar det man skickat- Värde, den information man skickar

• T.ex.firstName=AntonlastName=Tibblincourse=DA156A

Page 103: VT17 - DA355A - Introduktion HTML
Page 104: VT17 - DA355A - Introduktion HTML

GET/POST

• GET innebär att man skickar med den information som användaren angett genom URL (adressen till sidan)

• POST innebär att man skickar informationen ”bakom kulisserna”

• Standard är att man skicka mer GET (om inget annat anges)

Page 105: VT17 - DA355A - Introduktion HTML

GET/POST

Page 106: VT17 - DA355A - Introduktion HTML

Hur fungerar det?

Internet

Klient

Klient

Server

firstName=AntonlastName=Tibblincourse=DA344A

Page 107: VT17 - DA355A - Introduktion HTML

Inhämtning av data från användaren

• Detta kan göras av taggen <input> som kan representera olika delar av ett formulär

• Notera att <input> är en öppen tagg och saknar sluttagg• Attribut:

- Name Namnger input-elementet- Value Ev. värde på en knapp/i ett textfält- Type Vilken typ elementet ska vara t.ex.

knapp/textfält/radioknapp/checkbox osv.

Page 108: VT17 - DA355A - Introduktion HTML

Exempel av input-taggen<input type=”text” name=”firstName” value=”Förnamn här”>

<input type=”password” name=”password” value=”Lösen”>

<input type=”button” value=”Min knapp”>

<input type=”submit” value=”Skicka”>

<input type=”radio” name=”choice”>

<input type=”checkbox” name=”choice2”>

Page 109: VT17 - DA355A - Introduktion HTML

Andra attribut för <input>-taggen

• För checkboxar & radioknappar – om boxen ska vara inkryssad som standard:checked=”checked”

<input type="checkbox" checked="checked">

<input type="radio" checked="checked">

Page 110: VT17 - DA355A - Introduktion HTML

Gömda fält

• Man kan även skicka vidare information från förmulär genom gömda fält.

• Det innebär att fältet ligger ”osynligt” i bakgrunden.• Även osynlig fält kan ha namn och värde

• T.ex.<input type=”hidden” name=”namn” value=”anton”>

• Detta kommer alltså inte att synas på HTML-sidan

Page 111: VT17 - DA355A - Introduktion HTML

Textarea – För längre texter

• Har till skillnad från <input> en start- och en sluttag.• Attribut:

- name (samma funktion som för <input>)- rows, antalet rader (höjd på text-rutan)- cols, antalet kolumner (bredd på text-rutan)

• <textarea cols=”10” rows=”3” name=”textfield”></textarea>

• <textarea cols=”10” rows=”3” name=”textfield”>Hej</textarea>

Page 112: VT17 - DA355A - Introduktion HTML

Select – Drop down-meny

• Menyn definieras genom taggen <select></select>• Varje alternativ i drop down-menyn skapas genom taggen

<option></option>• För att kunna veta namn och värde på det som skickas gör man:<select name=”namn”>

<option value=”anton”>Anton</option><option value=”kalle”>Kalle</option><option value=”Johan”>Johan</option>

</select>

Page 113: VT17 - DA355A - Introduktion HTML

Etiketter för formulärselement

• Beskriver imatningsfälten• Ökar användbarheten<label>Namn</label><input type=”text” name=”namn”>

Ännu bättre:<label for=”namn”>Namn</label><input type=”text” name=”namn” id=”namn”>

Page 114: VT17 - DA355A - Introduktion HTML

Nytt och roligt i HTML 5

Page 115: VT17 - DA355A - Introduktion HTML

Användbara attribut

• ”reqiured”, göra ett fält obligatoriskt• ”placeholder”, en exempeltext för fältet

Page 116: VT17 - DA355A - Introduktion HTML

Nya typer för input (i formulär)• color• date• datetime• datetime-local• email• month• number• range• search• tel• time• url• Week

• http://www.w3schools.com/html/html5_form_input_types.asp

Page 117: VT17 - DA355A - Introduktion HTML

Nya funktioner i HTML 5

Page 118: VT17 - DA355A - Introduktion HTML

Autocomplete i formulär

• <input list="browsers">

<datalist id="browsers"><option value="Internet Explorer"><option value="Firefox"><option value="Chrome"><option value="Opera"><option value="Safari">

</datalist>

• http://www.w3schools.com/html/tryit.asp?filename=tryhtml5_datalist

Page 119: VT17 - DA355A - Introduktion HTML

Frågor?