HTML 5
• Nuovo standard per la strutturazione di pagine/
applicazioni Web
• prima versione dello standard pubblicata
solo nel 2014
• Ancora non pienamente supportato dai
browser
Risorse per lo studente
• Queste slide rappresentano una sintesi (non
completa) di
http://www.w3schools.com/html/html5_intro.asp
• Testo di supporto: Dive Into HTML5 di Mike Pilgrim
http://diveinto.html5doctor.com/
HTML 5 - What’s new?
• Nuovi tag semantici per la strutturazione del
testo
• Miglioramento dei form online
• Tag per il supporto di audio e video
• Grafica e animazione in Javascript via Canvas
• Geolocalizzazione
•…
HTML 5 - Cosa cambia?
• Si semplifica il DOCTYPE in
<!DOCTYPE html>
• Si semplifica la dichiarazione della codifica dei
caratteri (charset) in
<META charset=”nome charset”>
HTML 5 - Cosa cambia?
• Si semplifica il DOCTYPE in
<!DOCTYPE html>
• Si semplifica la dichiarazione della codifica dei
caratteri (charset) in
<META charset=”nome charset”>
Es. <META charset=”UTF-8”>
Dichiarazione per codifica UNICODE
Struttura minimale di un
documento HTML 5
<!DOCTYPE html>
<html>
<head>
<meta charset="UTF-8">
<title>Titolo del documento</title>
</head>
<body>
Contenuto del documento
</body>
</html>
Tag da non usare in
HTML 5
Tag rimossi dallo
standard perché poco
usati nelle precedenti
versioni di HTML
Si migliora il
disaccoppiamento
contenuto
presentazione
Nuovi tag semantici
• specificano chiaramente a browser e web
developer il loro significato
Es. Tag non semantici: <div>, <span>
Es. Tag semantici: <table>, <img>
• HTML5 offre nuovi tag semantici per la
strutturazione del documento HTML
Es.: <article>, <header>,…
• Si evita di organizzare la struttura mediante
blocchi <div> (e.g. <div id=”header”> … </div>)
Nuovi tag semantici
Nuovi tag semantici
• Attenzione: i tag semantici visti indicano solo il
significato di un dato blocco di codice HTML, ma
non non implementano nessun layout predefinito.
Es.: Un blocco <aside> elementi </aside> non
collocherà automaticamente i suoi elementi su
di un lato della finestra del browser.
• Per implementare un layout è necessario
assegnare agli elementi semantici delle
opportune regole css
Layout via tag semantici
<!DOCTYPE html>
<html>
<title>Esempio layout HTML5</title>
<meta charset="utf-8">
<link href="stile.css" rel="stylesheet" type="text/css">
<body>
<header>
<h1>Monday Times</h1>
</header>
<nav>
<ul>
<li><a href="http://www.cnn.it">News</a></li>
<li><a href="http://www.ilmeteo.it">Weather</a></li>
</ul>
</nav>
<section>
<h2>News Section</h2>
<article>
<h2>News Article</h2>
<p>Ipsum lurum hurum turum ipsum lurum hurum turum ipsum lurum hurum turum ipsum
lurum hurum turum.</p>
</article>
<article>
<h2>News Article</h2>
<p>Ipsum lurum hurum turum ipsum lurum hurum turum ipsum lurum hurum turum ipsum
lurum hurum turum.</p>
</article>
</section>
<footer>
<p>Copyright 2014 Monday Times. All rights reserved.</p>
</footer>
</body>
</html>
Layout via tag semantici
<!DOCTYPE html>
<html>
<title>Esempio layout HTML5</title>
<meta charset="utf-8">
<link href="stile.css" rel="stylesheet" type="text/css">
HTML per definire
contenuto e struttura
<body>
<header>
<h1>Monday Times</h1>
</header>
logica
<nav>
<ul>
<li><a href=“http://www.mysite.com/news”>News</a></li>
<li><a href=“http://www.mysite.com/meteo“>Weather</a></li>
</ul>
</nav>
<section>
<h2>News Section</h2>
<article>
<h2>News Article</h2>
<p>Ipsum lurum hurum turum ipsum lurum hurum turum ipsum lurum hurum turum ipsum
lurum hurum turum.</p>
</article>
<article>
<h2>News Article</h2>
<p>Ipsum lurum hurum turum ipsum lurum hurum turum ipsum lurum hurum turum ipsum
lurum hurum turum.</p>
</article>
</section>
<footer>
<p>Copyright 2014 Monday Times. All rights reserved.</p>
</footer>
</body>
</html>
Layout via tag semantici
body {
font-family:Verdana,sans-serif;font-size:0.8em; CSS per la definizione
}
header,footer,section,article { del layout di pagina
border:1px solid grey;
margin:5px;margin-bottom:15px;padding:8px;
background-color:white;
}
header,footer {
color:white;background-color:#444444;margin-bottom:5px;
}
section {
background-color:#dddddd;
}
nav ul {
margin:0;padding:0;
}
nav ul li {
display:inline; margin:5px;
}
Layout via tag semantici
body {
font-family:Verdana,sans-serif;font-size:0.8em; CSS per la definizione
}
header,footer,section,article { del layout di pagina
border:1px solid grey;
margin:5px;margin-bottom:15px;padding:8px;
background-color:white;
}
header,footer {
color:white;background-color:#444444;margin-bottom:5px;
}
section {
background-color:#dddddd;
}
nav ul {
margin:0;padding:0;
}
nav ul li {
display:inline; margin:5px;
}
Tag <video>
• Usato per includere video in una pagina HTML
<video width="320" height="240" controls>
<source src="movie.mp4" type="video/mp4">
<source src="movie.ogg" type="video/ogg">
Your browser does not support the video tag.
</video>
• Formati generalmente supportati dai browser
• MP4
• OGG
Tag <video>
• Usato per includere video in una pagina HTML
<video width="320" height="240" controls>
<source src="movie.mp4" type="video/mp4">
<source src="movie.ogg" type="video/ogg">
Your browser does not support the video tag.
</video>
attributi width e height usati per
dimensionare il video
Tag <video>
• Usato per includere video in una pagina HTML
<video width="320" height="240" controls>
<source src="movie.mp4" type="video/mp4">
<source src="movie.ogg" type="video/ogg">
Your browser does not support the video tag.
</video>
attributo controls usato per
mostrare i controlli video (play,
pause,…)
Tag <video>
• Usato per includere video in una pagina HTML
<video width="320" height="240" controls>
<source src="movie.mp4" type="video/mp4">
<source src="movie.ogg" type="video/ogg">
Your browser does not support the video tag.
</video>
Tag source usato per caricare un
video.
Ci possono essere più source, in
questo caso il browser carica il
primo formato video supportato
Tag <video>
• Usato per includere video in una pagina HTML
<video width="320" height="240" controls>
<source src="movie.mp4" type="video/mp4">
<source src="movie.ogg" type="video/ogg">
Your browser does not support the video tag.
</video>
Il testo è visualizzato se non è
possibile riprodurre il video.
altri attributi di <video>
il video viene riprodotto
autoplay appena caricato
loop manda in loop il video
muted elimina l’audio
permette di visualizzare
l’immagine all’indirizzo URL
poster=”URL” mentre il video si sta
caricando e finché l’utente
non avvia il video
Tag <audio>
• Usato per includere file audio in una pagina
HTML
<audio controls>
<source src="horse.ogg" type="audio/ogg">
<source src="horse.mp3" type="audio/mpeg">
Your browser does not support the audio eleme
</audio>
• Formati generalmente supportati dai browser
• MP3
• WAV
• OGG
alcuni attributi di <audio>
il file audio viene riprodotto
autoplay appena caricato
loop manda in loop il file audio
muted elimina l’audio
HTML5 Canvas
• Un HTML Canvas permette di definire un’area
sulla finestra del browser nella quale inserire
grafica ed animazioni
• tipicamente gli elementi grafici e le animazioni
in un canvas sono specificate mediante codice
Javascript.
<canvas id="myCanvas" width="200" height="100" >
</canvas>
HTML5 Canvas
• Un HTML Canvas permette di definire un’area
sulla finestra del browser nella quale inserire
grafica ed animazioni
• tipicamente gli elementi grafici e le animazioni
in un canvas sono specificate mediante codice
Javascript.
<canvas id="myCanvas" width="200" height="100" >
</canvas>
Dimensioni del canvas
in pixel
HTML5 Canvas
function drawBall() {
// Clear the board.
ctx.clearRect(0,0,boardX,boardY);
// Fill the board.
ctx.fillStyle = "pink";
ctx.beginPath();
ctx.rect(0, 0, boardX, boardY);
ctx.closePath();
ctx.fill();
.
.
.
HTML5 Canvas
function drawBall() {
// Clear the board.
ctx.clearRect(0,0,boardX,boardY);
// Fill the board.
ctx.fillStyle = "pink";
ctx.beginPath();
ctx.rect(0, 0, boardX, boardY);
ctx.closePath();
ctx.fill();
.
.
. Prossimamente, in
questo corso…