On Github egogarcia / curso.html5
Creat per Eric Garcia
HTML5 és la cinquena revisió important del llenguatge bàsic de la World Wide Web.
Encara es troba en mode experimental, la qual cosa indica la mateixa W3C, encara que ja és usat per múltiples desenvolupadors web pels seus avenços, millores i avantatges.
w3c es la comunitat internacional que treballen conjuntament per desenvolupar estàndards
w3c es la comunitat internacional que treballen conjuntament per desenvolupar estàndards
HTML5 ofereix nous elements per millorar l'estructura.
Millorar l'estructura del nostre documents millorarà la nostre indexació als motors de búsqueda com Google
Alt + click anywhere to zoom back out.
<!-- Un encapçalat per un <article>: --> <article> <header> <h1>Internet Explorer 9</h1> <p><time pubdate="" datetime="2011-03-15"></time></p> </header> <p>Windows Internet Explorer 9 (abbreviated as IE9) was released to the public on March 14, 2011 at 21:00 PDT.....</p> </article>
S'ha d'utilitzar com a contenidor de continguts introductoris.
<!-- Un conjunt de vincles de navegació: --> <nav> <a href="/html/">HTML</a> | <a href="/css/">CSS</a> | <a href="/js/">JavaScript</a> | <a href="/jquery/">jQuery</a> </nav>
Els navegadors, com ara lectors de pantalla per a usuaris amb discapacitat, puguin utilitzar aquest element per determinar si s'ha de ometre la prestació inicial d'aquest contingut
Tingueu en compte que no tots els enllaços d'un document ha d'estar dins d'un element
. L'element està dirigit només a gran bloc de enllaços de navegació .
<!-- Una secció d'un document, explicant el que WWF és: --> <section class="future" style="top: -20px; display: none; "> <h1>WWF</h1> <p>The World Wide Fund for Nature (WWF) is....</p> </section>
Un bloc de text al qual perfectament li podríem posar un títol o encapçalament. A més, tot el contingut que engloba ha de guardar certa relació entre si.
<!-- Un artucle d'un document, explicant els serveis de WWF és: --> <section class="future" style="top: -20px; display: none; "> <header><h1>WWF services</h1></header> <article><header><h2>Service 1</h2></header>...</article> <article><header><h2>Service 2</h2></header>...</article> <article><header><h2>Service 3</h2></header>...</article> </section>
La documentació oficial es una mica ambigua envers article i secció, per tant si busqueu informació veure-ho que hi ha opinions de tot tipus
Jo soc dels que entenen que una secció es subdivideix en articles
<p>My family and I visited The Epcot center* this summer.</p> <aside> <h4>*Epcot Center</h4> <p>The Epcot Center is a theme park in Disney World, Florida.</p> </aside>
Un exemple sería afegir notes o definicions d'una o un grup de paraules
<!-- Una secció de peu de pàgina en un document: --> <footer> <p>Posted by: Hege Refsnes</p> <p>Contact information: <a href="mailto:someone@example.com"> someone@example.com</a>.</p> </footer>
Un peu de pàgina sol contenir l'autor del document, informació de drets d'autor, enllaços a termes d'ús, informació de contacte, etc
Vostè pot tenir diversos elements <footer> en un sol document.
<!-- Ressaltar parts d'un text: --> <p>Do not forget to buy <mark>milk</mark> today.</p>
Com si for amb un marcador o edding groc
<!-- Ressaltar parts d'un text: --> <progress value="22" max="100"></progress>
valor actual value="22" número max="100", es tracta d'interactuar amb JS
HTML5 Posa a la nostre disposició nous tipus d'entrada de dades.
Només explicaré els nous tipus compatibles amb les últimes versions dels navegadors més importants (firefox, safari chrome opera e IE)
Alt + click anywhere to zoom back out.
<input type="range" name="points" step="2" min="1" max="10" value="4">
valor actual value="22" número max="100"
<input type="email" name="email"> <input type="url" name="homepage">
Es tracta d'un camp d'introducció de text normal, només afegeix la funcionalitat de validació per part del navegador
Encara que no es acceptat per Safari, personalment crec que aporta claritat a l'usuari, encara que no ens evita haver de validar la dada introduïda des del backend
HTML5 Posa a la nostre disposició nous atributs als tipus d'entrada de dades.
Només explicaré els nous tipus compatibles amb les últimes versions dels navegadors més importants (firefox, safari chrome opera e IE)
<input type="text" name="fname" autofocus="">
Es molt útil afegir-ho vía JS o des del backend a l'hora de fer la validació del formulari i detectar un camp incorrecte
<form action="demo_form.asp"> First name: <input type="text" name="fname"><br> Last name: <input type="text" name="lname"><br> <input type="submit" value="Submit"><br> <input type="submit" formaction="demo_admin.asp" value="Submit as admin"> </form>
Et permet en un mateix formulari afegir dos botons d'enviament per tan d'enviar el formulari a dos destins diferents
<form action="demo_form.asp" method="get"> First name: <input type="text" name="fname"><br> Last name: <input type="text" name="lname"><br> <input type="submit" value="Submit"> <input type="submit" formmethod="post" formaction="demo_post.asp" value="Submit using POST"> </form>
El mateix cas que l'anterior però especificant el métode d'enviament de dades Get o Post segons el botó que hem clickat
<form action="demo_form.asp"> First name: <input type="text" name="fname"><br> Last name: <input type="text" name="lname"><br> <input type="submit" value="Submit as normal"> <input type="submit" formtarget="_blank" value="Submit to a new window"> </form>
De la mateixa manera que fins ara podíem obrir un link en una nova pàgina o pestanya; ara podem fer el mateix amb els formularis
Select images: <input type="file" name="img" multiple="">
Ja podem enviar múltiples arxius en un formulari sense haver d'utilitzar JS
<input type="text" name="fname" placeholder="First name">
Ja podem afegir un placeholder en un formulari sense haver d'utilitzar JS
Username: <input type="text" name="usrname" required="">
Encara que safari no ho accepta crec que és de molta utilitat poder indicar fàcilment que un camp es obligatori delegant al navegador aquesta tasca i el mateix que abans, no hem d'utilitzar JS
S'utilitza per dibuixar gràfics, sobre la marxa, a través de JavaScript.
Wow personalment hem sembla increïble, si això va avançant ens hi portarà molt lluny
S'ha introduït aquest nou element per tal de prescindir de complements com poden ser el Flash player i similars
Alt + click anywhere to zoom back out.
<canvas id="myCanvas" width="200" height="100"> </canvas>
Consell: Podeu tenir diversos elements en una pàgina HTML.
<script> var c=document.getElementById("myCanvas"); var ctx=c.getContext("2d"); ctx.fillRect(0,0,150,75); </script>trobar l'element
var c=document.getElementById("myCanvas");Obtenir el context indicant que treballarem amb 2D
var ctx=c.getContext("2d");Dibuixem un rectangle
ctx.fillRect(0,0,150,75);El seu navegador no suporta l'etiqueta canvas HTML5.
L'objecte getContext ("2D") és un objecte incorporat HTML5, amb moltes propietats i mètodes per dibuixar traçats, quadres, cercles, text, imatges i més.
El fillRect ( x, i, ample, alt mètode) dibuixa un rectangle farcit amb l'estil de farciment actual.
Així, el mètode fillRect () anterior tenia els paràmetres (0,0,150,75).
Això significa: Comença a la cantonada superior esquerra (0,0) i dibuixeu un rectangle 150x75 píxels.
ctx.moveTo(0,0); ctx.lineTo(200,100); ctx.stroke();Ens posicionem a les coordenades X 0, I 0
ctx.moveTo(0,0);Indiquem que volem una línia fins les coordenades x 200, I 100
ctx.lineTo(200,100);Finalment dibuixem
ctx.stroke();El seu navegador no suporta l'etiqueta canvas HTML5.
ctx.beginPath(); ctx.strokeStyle="#FF0000"; ctx.arc(95,50,0,0,2*Math.PI); ctx.stroke();Inicia un camí, o restableix la ruta actual
ctx.beginPath();La propietat strokeStyle es el color
ctx.strokeStyle="#FF0000";El métode arc(x,y,r,start,stop) fa un cercle
ctx.arc(95,50,0,0,2*Math.PI);El seu navegador no suporta l'etiqueta canvas HTML5.
ctx.lineWidth = 8;
ctx.font="30px Arial"; ctx.fillText("Hello World",10,50);Propietats de font per al text
ctx.font="30px Arial";Dibuixa el contorn del text
ctx.strokeText("Hello World",10,50);El seu navegador no suporta l'etiqueta canvas HTML5.
ctx.stroke(); dibuixa el contorn i fill omple tot l'espai
var img=document.getElementById("flashImg"); ctx.drawImage(img,5,5); ctx.lineWidth = 8; ctx.strokeStyle="#FF0000"; ctx.moveTo(0,0); ctx.lineTo(200,200); ctx.stroke(); ctx.moveTo(200,0); ctx.lineTo(0,200); ctx.stroke();Obtenim la imatge del document HTML
var img=document.getElementById("scream");Afegim la imatge dins del canvas
ctx.drawImage(img,10,10);El seu navegador no suporta l'etiqueta canvas HTML5.
L'element canvas obre la porta a un univers de possibilitats, veiem alguns exemples:
Animació amb text Dibuixa amb el ratolí ... Molts més al señor Googlehttp://techslides.com/learning-html5-canvas-through-jsfiddle-examples/
Ja podem incrustar vídeos sense necessitat de flash player
Wow personalment hem sembla increïble, si això va avançant ens hi portarà molt lluny
S'ha introduït aquest nou element per tal de prescindir de complements com poden ser el Flash player i similars
Alt + click anywhere to zoom back out.
<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>
L'atribut de control afegeix controls de vídeo, com reproducció, pausa i volum.
Your browser does not support the video tag.Actualment, hi ha 3 formats de vídeo compatibles amb l'element; MP4, WebM i Ogg :
Per tal de assegurar la compatibilitat amb tots els navegadors afegim tants tipus de source com faci falta
Ja podem incrustar audio sense necessitat de flash player
Wow personalment hem sembla increïble, si això va avançant ens hi portarà molt lluny
S'ha introduït aquest nou element per tal de prescindir de complements com poden ser el Flash player i similars
Alt + click anywhere to zoom back out.
<audio controls=""> <source src="horse.ogg" type="audio/ogg"> <source src="horse.mp3" type="audio/mpeg"> Your browser does not support the audio element. </audio>
L'atribut de control afegeix controls de vídeo, com reproducció, pausa i volum.
Your browser does not support the audio element.Actualment, hi ha 3 formats de àudio compatibles amb l'element; MP3, WAV i OGG :
Per tal de assegurar la compatibilitat amb tots els navegadors afegim tants tipus de source com faci falta
W3Schools guia oficial de consorci w3c
Fem un exemple molt simple utilitzant tots els elements d'estructura:
Crear un únic formulari per fer una cerca a Google i Bing
El paràmetre de cerca s'ha d'enviar via GET es diu "q" i les URL de destí son:
Una bona pràctica és utilitzar dos elements input del tipus submit i un d'ells amb un formaction, recordeu mostrar els resultats en una nova pestanya.
Proveu l'element vídeo i audio
Podeu trobar un vídeo en diferents formats d'exemple a
Una bona pràctica és utilitzar dos elements input del tipus submit i un d'ells amb un formaction, recordeu mostrar els resultats en una nova pestanya.
Dibuixar un text personalitzat amb l'element canvas
Exemple:
??
L'hi afegirem una ombra
ctx.shadowColor = "black"; //Color de l'hombra ctx.shadowOffsetX = 5; //Posició ctx.shadowOffsetY = 5; //Posició ctx.shadowBlur = 7; //Difuminat
Exemple:
??
Crear un comptador amb l'element canvas
myTimer = setInterval(draw,25);
context.clearRect( x, i, ample, alt );
Exemple:
??