On Github KimAM / html5-reveal-js-presentation
WHATWG ble grunnlagt av Apple, Mozilla Foundation, og Opera Software i 2004, etter en W3C workshop. De var bekymret for retningen W3C gikk med XHTML.
HTML5 er hovedsaklig et buzzword som refererer til moderne web teknologier
Et latterlig stort antall nettsider inneholder feil i markupen. Veldig få nettsider er utviklet av profesjonelle utviklere
<html> <head> <title>Pwning the web</title> </head> <body> <h1>Sweeeet hjemmeside</h1> </body> </html> <small>Copyright awesome-developer2012</small> //iiiiiiikk
//Support for really broken html. We never close the body tag, //since some stupid web pages close it before the actual end of the doc. //Let's rely on the end() call to close things. if(t->tagName == htmlTag || t->tagName == bodyTag ) return;Utdrag fra kildekoden til Webkit som bla. brukes i Safari og Chrome
<DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd"> <html xmlns="http://www.w3.org/1999/xhtml> <head> <title>Min nettside med syntaksfeil</title> <meta http-equiv="content-type" content="text/html;charset=utf-8"> </head> <body> <ul> <li>List item one</li> <li>List item two</ul> </li> </body> </html>
Elementer definerer meningen av innholdet så godt som mulig, og ikke hvordan det presenteres. Nye elementer er kommet til i spesifikasjonen.
<div id="header"> <h1>I can the Interwebs</h1> <!-- Slogans ftw i headeren --> </div> <div id="nav"> <!-- Naviger i min awesome meny --> </div> <div id="article"> <div class="section"> <!-- Blogger ftw --> </div> <div class="section"> <!-- Kan bli for lite blogging --> </div> </div> <div id="footer"> <!-- Copyright: You wouldnt steal a car.. --> </div>
<header> <h1>I can the Interwebs</h1> <!-- Slogans ftw i headeren --> </header> <nav> <!-- Naviger i min awesome meny --> </nav> <article> <section> <!-- Blogger ftw --> </section> <section> <!-- Kan bli for lite blogging --> </section> </article> <footer> <!-- Copyright: You wouldnt steal a car.. --> </footer>
<form> <input type="text" name="name" required placeholder="Navn"> <label for="name">Navn</label> <input type="email" name="email" required placeholder="email@me.com"> <label for="email">Epost</label> <input type="url" name="website" placeholder="www.me.com"> <label for="website">Nettside</label> <input type="number" name="number" min="0" max="10" step="2" required placeholder="Tall < 10"> <label for="number">Tall</label> <input type="range" name="range" min="0" max="10" step="2"> <label for="range">Range</label> <input type="submit" value="Registrer"> </form>
Navn
Epost
Nettside
Tall
Range
<video width="640" height="480" controls > <source src="video/movie.mp4" type="video/mp4" /> <source src="video/movie.ogg" type="video/ogg" /> <source src="video/movie.webm" type="video/webm" /> <object data="video/movie.mp4" width="320" height="240"> <embed src="video/movie.swf" width="320" height="240" /> </object> </video>
<audio> <source src="horse.ogg" type="audio/ogg" /> <source src="horse.mp3" type="audio/mpeg" /> Your browser does not support the audio element. </audio>
<script> function getLocation(){ if (navigator.geolocation){ navigator.geolocation.getCurrentPosition(showPosition); } else{ x.innerHTML="Geolocation is not supported by this browser."; } } function showPosition(position){ console.log("Latitude: " + position.coords.latitude + "Longitude: " + position.coords.longitude; } </script>Eksempel på geolocation
LocalStorage og SessionStorage er sikrere og raskere enn cookies. Lagrer data på klienten
localStorage.skole = 'NTNU' localStorage.event = 'itDagene'
<!DOCTYPE html> <html> <head> <title>Min HTML5 nettside</title> </head> <body> < -- Din nettside her -- > </body> </html>
Funksjoner i HTML5 støttes enda ikke fullt ut i alle nettlesere. Hvis man skal bruke funksjoner fra HTML5 bør man sjekke hva nettleseren støtter.
if (Modernizr.localstorage) { // window.localStorage is available! } else { // no native support for HTML5 storage :( } if (Modernizr.geolocation) { // navigator.geolocation is available! } else { // no native support for HTML5 storage :( }