Introducción a HTML5 y CSS3 AWGR

107
HTML5 Y CSS 3 Antonio Valverde Rodríguez Twitter: @valgreens [email protected]

description

Diapositivas utilizadas en la charla de introducción a HTML5 y CSS3 organizada por la Asociación de Webmasters de Granada

Transcript of Introducción a HTML5 y CSS3 AWGR

Page 2: Introducción a HTML5 y CSS3 AWGR

INTRODUCCIÓN

HTML 5 ES LA EVOLUCIÓN DEL HTML 4 Y XHTML 1 AÚN EN DESARROLLO POR EL W3C

HTML5 ~= HTML + CSS + JS

Page 3: Introducción a HTML5 y CSS3 AWGR

INTRODUCCIÓN

Page 4: Introducción a HTML5 y CSS3 AWGR

INTRODUCCIÓN

5 COSAS QUE DEBES SABER ANTES DE EMPEZAR CON HTML 5

Page 5: Introducción a HTML5 y CSS3 AWGR

INTRODUCCIÓN

5 COSAS QUE DEBES SABER ANTES DE EMPEZAR CON HTML 5

1. HTML5 NO ES UN GRAN BLOQUE

Page 6: Introducción a HTML5 y CSS3 AWGR

INTRODUCCIÓN

5 COSAS QUE DEBES SABER ANTES DE EMPEZAR CON HTML 5

1. HTML5 NO ES UN GRAN BLOQUE 2. NO NECESITAS TIRAR NADA ANTERIOR A HTML 5

Page 7: Introducción a HTML5 y CSS3 AWGR

INTRODUCCIÓN

5 COSAS QUE DEBES SABER ANTES DE EMPEZAR CON HTML 5

1. HTML5 NO ES UN GRAN BLOQUE 2. NO NECESITAS TIRAR NADA ANTERIOR A HTML 5 3. ES MUY FÁCIL EMPEZAR

Page 8: Introducción a HTML5 y CSS3 AWGR

INTRODUCCIÓN

5 COSAS QUE DEBES SABER ANTES DE EMPEZAR CON HTML 5

1. HTML5 NO ES UN GRAN BLOQUE 2. NO NECESITAS TIRAR NADA ANTERIOR A HTML 5 3. ES MUY FÁCIL EMPEZAR 4. YA FUNCIONA

Page 9: Introducción a HTML5 y CSS3 AWGR

INTRODUCCIÓN

5 COSAS QUE DEBES SABER ANTES DE EMPEZAR CON HTML 5

1. HTML5 NO ES UN GRAN BLOQUE 2. NO NECESITAS TIRAR NADA ANTERIOR A HTML 5 3. ES MUY FÁCIL EMPEZAR 4. YA FUNCIONA 5. HA LLEGADO PARA QUEDARSE

Page 10: Introducción a HTML5 y CSS3 AWGR

NOVEDADES EN HTML 5

Page 11: Introducción a HTML5 y CSS3 AWGR

NOVEDADES EN HTML 5●Los tags ”únicos” ya no es obligatorio cerrarlos ●Nuevos elementos, más semánticos

Page 12: Introducción a HTML5 y CSS3 AWGR

NOVEDADES EN HTML 5●Los tags ”únicos” ya no es obligatorio cerrarlos ●Nuevos elementos, más semánticos ●Conjunto de APIs

Page 13: Introducción a HTML5 y CSS3 AWGR

NOVEDADES EN HTML 5●Los tags ”únicos” ya no es obligatorio cerrarlos ●Nuevos elementos, más semánticos ●Conjunto de APIs ●Posibilidad de acceder a dispositivos: <device>

Page 14: Introducción a HTML5 y CSS3 AWGR

NOVEDADES EN HTML 5●Los tags ”únicos” ya no es obligatorio cerrarlos ●Nuevos elementos, más semánticos ●Conjunto de APIs ●Posibilidad de acceder a dispositivos: <device> ●Canvas y microdatos

Page 15: Introducción a HTML5 y CSS3 AWGR

NOVEDADES EN HTML 5●Los tags ”únicos” ya no es obligatorio cerrarlos ●Nuevos elementos, más semánticos ●Conjunto de APIs ●Posibilidad de acceder a dispositivos: <device> ●Canvas y microdatos●WebWorkers, WebStorage, WebSockets y Web SQL Database

Page 16: Introducción a HTML5 y CSS3 AWGR

NOVEDADES EN HTML 5●Los tags ”únicos” ya no es obligatorio cerrarlos ●Nuevos elementos, más semánticos ●Conjunto de APIs ●Posibilidad de acceder a dispositivos: <device> ●Canvas y microdatos●WebWorkers, WebStorage, WebSockets y Web SQL Database ●Geolocalización

Page 17: Introducción a HTML5 y CSS3 AWGR

NOVEDADES EN HTML 5●Los tags ”únicos” ya no es obligatorio cerrarlos ●Nuevos elementos, más semánticos ●Conjunto de APIs ●Posibilidad de acceder a dispositivos: <device> ●Canvas y microdatos●WebWorkers, WebStorage, WebSockets y Web SQL Database ●Geolocalización ●Mejoras en los formularios

Page 18: Introducción a HTML5 y CSS3 AWGR

NOVEDADES EN HTML 5●Los tags ”únicos” ya no es obligatorio cerrarlos ●Nuevos elementos, más semánticos ●Conjunto de APIs ●Posibilidad de acceder a dispositivos: <device> ●Canvas y microdatos●WebWorkers, WebStorage, WebSockets y Web SQL Database ●Geolocalización ●Mejoras en los formularios ●Retrocompatible

Page 19: Introducción a HTML5 y CSS3 AWGR

¿SE PUEDE USAR YA?

Sí pero...

Page 20: Introducción a HTML5 y CSS3 AWGR

¿SE PUEDE USAR YA?

✔ Hay que preocuparse de la retrocompatibilidad

Sí pero...

Page 21: Introducción a HTML5 y CSS3 AWGR

¿SE PUEDE USAR YA?

✔ Hay que preocuparse de la retrocompatibilidad ✔ Algunas tecnologías no están preparadas aún

Sí pero...

Page 22: Introducción a HTML5 y CSS3 AWGR

¿SE PUEDE USAR YA?

✔ Hay que preocuparse de la retrocompatibilidad ✔ Algunas tecnologías no están preparadas aún ✔ El contenido tiene que ser siempre accesible

Sí pero...

Page 23: Introducción a HTML5 y CSS3 AWGR

¿SE PUEDE USAR YA?

✔ Hay que preocuparse de la retrocompatibilidad ✔ Algunas tecnologías no están preparadas aún ✔ El contenido tiene que ser siempre accesible ✔ Se pueden complementar con javascript

Sí pero...

Page 24: Introducción a HTML5 y CSS3 AWGR

¿SE PUEDE USAR YA?

✔ Hay que preocuparse de la retrocompatibilidad ✔ Algunas tecnologías no están preparadas aún ✔ El contenido tiene que ser siempre accesible ✔ Se pueden complementar con javascript

(polyfills)

Sí pero...

Page 25: Introducción a HTML5 y CSS3 AWGR

!DOCTYPE

XTML 1.1: <!DOCTYPE html PUBLIC "-//W3C//DTD

XHTML 1.1//EN" "http://www.w3.org/TR/xhtml11/DTD/xhtml11.dtd">

HTML5:<!DOCTYPE html>

Page 26: Introducción a HTML5 y CSS3 AWGR

CODIFICACIÓN

XTML 1.1: <meta http-equiv=”Content-Type”

content=”text/html; charset=utf-8” />

HTML5:<meta charset=utf-8>

Page 27: Introducción a HTML5 y CSS3 AWGR

LINK / SCRIPTXTML 1.1:

<link rel=”stylesheet” type=”text/css” href=”ejemplo.css” />

<script type=”text/javascript” src=”jquery.js”></script>

HTML5:<link rel=”stylesheet” href=”ejemplo.css”>

<script src=jquery.js>

Page 28: Introducción a HTML5 y CSS3 AWGR

VIEJA ESTRUCTURA<div id=”header”>

<div id=”nav”>

<div id=”footer”>

<div id=”sidebar”>

<div id=”main”>

<div class=”post”>

<div class=”post”>

Page 29: Introducción a HTML5 y CSS3 AWGR

NUEVA ESTRUCTURA<header>

<nav>

<footer>

<aside>

<section>

<article> <article>

Page 30: Introducción a HTML5 y CSS3 AWGR

<HEADER>

• Logo y título

•Navegación

• Varios encabezados

Page 31: Introducción a HTML5 y CSS3 AWGR

<NAV>

• Puede haber más de uno

•Migas de pan

• Blogroll

Page 32: Introducción a HTML5 y CSS3 AWGR

<ARTICLE>

• Artículos de blog y periódico

• Comentarios y productos

• Sindicable

Page 33: Introducción a HTML5 y CSS3 AWGR

<SECTION>

• Agrupa contenido semánticamente

• Sirve tanto para páginas y artículos

Page 34: Introducción a HTML5 y CSS3 AWGR

<ASIDE>

• Sidebar

• Anuncios

Page 35: Introducción a HTML5 y CSS3 AWGR

<FOOTER>

• Puede haber varios

• Licencia, enlaces, etc

Page 36: Introducción a HTML5 y CSS3 AWGR

FIGURE/FIGCAPTION

Page 37: Introducción a HTML5 y CSS3 AWGR

FIGURE/FIGCAPTION

<figure> <img src="imagen.jpg" alt=" "><figcaption>Wheel</figcaption>

</figure>

Page 38: Introducción a HTML5 y CSS3 AWGR

<HGROUP>

Ha desaparecido de la especificación de HTML5 recientemente

Originariamente se utilizaba para agrupar encabezados con más de una etiqueta <h1>...<h6>

Page 39: Introducción a HTML5 y CSS3 AWGR

<TIME>

<time>2011-05-05</time>

Page 40: Introducción a HTML5 y CSS3 AWGR

<TIME>

<time>2011-05-05</time>

datetime: permite declarar la fecha en un formato legible por una máquina

Page 41: Introducción a HTML5 y CSS3 AWGR

<TIME>

<time>2011-05-05</time>

datetime: permite declarar la fecha en un formato legible por una máquina

pubdate: especifica que es una fecha de publicación

Page 42: Introducción a HTML5 y CSS3 AWGR

ADIÓS A...

applet

big

center

font

frame

blink

marquee

Page 43: Introducción a HTML5 y CSS3 AWGR

3, 2, 1... ACCIÓN!

<audio>

<video>

Page 44: Introducción a HTML5 y CSS3 AWGR

<AUDIO> Y <VIDEO>

<audio src="cancion.???" > </audio>

<video src="video.???" > </video>

Page 45: Introducción a HTML5 y CSS3 AWGR

ATRIBUTOS

Page 46: Introducción a HTML5 y CSS3 AWGR

ATRIBUTOSautoplay: reproducción automática.

Page 47: Introducción a HTML5 y CSS3 AWGR

ATRIBUTOSautoplay: reproducción automática.controls: muestra los controles de vídeo nativos de cada navegador. No aparecen por defecto.

Page 48: Introducción a HTML5 y CSS3 AWGR

ATRIBUTOSautoplay: reproducción automática.controls: muestra los controles de vídeo nativos de cada navegador. No aparecen por defecto.poster: imagen de previsualización. Si no se especifica, el navegador coge el primer fotograma.

Page 49: Introducción a HTML5 y CSS3 AWGR

ATRIBUTOSautoplay: reproducción automática.controls: muestra los controles de vídeo nativos de cada navegador. No aparecen por defecto.poster: imagen de previsualización. Si no se especifica, el navegador coge el primer fotograma.width, height: si no se especifican, se toman las del poster ; si no, serán 300px por 150px.

Page 50: Introducción a HTML5 y CSS3 AWGR

ATRIBUTOSautoplay: reproducción automática.controls: muestra los controles de vídeo nativos de cada navegador. No aparecen por defecto.poster: imagen de previsualización. Si no se especifica, el navegador coge el primer fotograma.width, height: si no se especifican, se toman las del poster ; si no, serán 300px por 150px.loop: reproduce el vídeo en bucle.

Page 51: Introducción a HTML5 y CSS3 AWGR

ATRIBUTOSautoplay: reproducción automática.controls: muestra los controles de vídeo nativos de cada navegador. No aparecen por defecto.poster: imagen de previsualización. Si no se especifica, el navegador coge el primer fotograma.width, height: si no se especifican, se toman las del poster ; si no, serán 300px por 150px.loop: reproduce el vídeo en bucle.preload: precarga el vídeo.

Page 52: Introducción a HTML5 y CSS3 AWGR

ATRIBUTOSautoplay: reproducción automática.controls: muestra los controles de vídeo nativos de cada navegador. No aparecen por defecto.poster: imagen de previsualización. Si no se especifica, el navegador coge el primer fotograma.width, height: si no se especifican, se toman las del poster ; si no, serán 300px por 150px.loop: reproduce el vídeo en bucle.preload: precarga el vídeo.src: indica la fuente del vídeo.

Page 53: Introducción a HTML5 y CSS3 AWGR

LA FORMA CORRECTA<video controls width="360" height="240" poster="caratula.jpg" > <source src="vid.mp4" type="video/mp4" > <source src="vid.ogv" type="video/ogg" > <p> Tu navegador no sorporta vídeo. Puedes descargar este vídeo en formato <a href="vid.mp4">mp4<a> o en formato <a href="vid.ogv">Ogg<a>. </p></video>

Page 54: Introducción a HTML5 y CSS3 AWGR

GUERRA DE FORMATOS

Formato IE Firefox Safari Chrome Opera

Ogg NO 3.4+ NO 5.0+ 10.5+

H264 9.0+ NO 3.0+ 5.0+ NO

WebM 9.0+ 4.0+ NO 5.0+ 10.6+

Page 55: Introducción a HTML5 y CSS3 AWGR

SOPORTE HTML5

ChromeFirefoxSafariOpera

Internet Explorer 9

Page 56: Introducción a HTML5 y CSS3 AWGR

SOPORTE HTML5

Creamos los elementos nuevos con Javascript:

document.CreateElement('nav');document.CreateElement('header');document.CreateElement('footer');document.CreateElement('article');document.CreateElement('section');

Page 57: Introducción a HTML5 y CSS3 AWGR

HTML5 SHIV

<!--[if lt IE 9]> <script src="http://html5shim.googlecode.com/svn/trunk/html5.js" type="text/javascript"></script>

<![endif]-->

Page 58: Introducción a HTML5 y CSS3 AWGR

FORMULARIOS

<input type=email> <input type=url> <input type=tel>

Page 59: Introducción a HTML5 y CSS3 AWGR

FORMULARIOS

Más novedades y tipos de input

Page 60: Introducción a HTML5 y CSS3 AWGR

FORMULARIOS

<input type=search>

Más novedades y tipos de input

Page 61: Introducción a HTML5 y CSS3 AWGR

FORMULARIOS

<input type=search> <input type=number>

Más novedades y tipos de input

Page 62: Introducción a HTML5 y CSS3 AWGR

FORMULARIOS

<input type=search> <input type=number> <input type=range>

Más novedades y tipos de input

Page 63: Introducción a HTML5 y CSS3 AWGR

FORMULARIOS

<input type=search> <input type=number> <input type=range> <input type=color>

Más novedades y tipos de input

Page 64: Introducción a HTML5 y CSS3 AWGR

FORMULARIOS

<input type=search> <input type=number> <input type=range> <input type=color>

Más novedades y tipos de input

<input type=date>

Page 65: Introducción a HTML5 y CSS3 AWGR

FORMULARIOS

<input type=search> <input type=number> <input type=range> <input type=color>

Más novedades y tipos de input

<input type=date> <input type=time>

Page 66: Introducción a HTML5 y CSS3 AWGR

FORMULARIOS

<input type=search> <input type=number> <input type=range> <input type=color>

Más novedades y tipos de input

<input type=date> <input type=time>

<input type=datetime>

Page 67: Introducción a HTML5 y CSS3 AWGR

FORMULARIOS

<input type=search> <input type=number> <input type=range> <input type=color>

Más novedades y tipos de input

<input type=date> <input type=time>

<input type=datetime> <input type=month>

Page 68: Introducción a HTML5 y CSS3 AWGR

FORMULARIOS

<input type=search> <input type=number> <input type=range> <input type=color>

Más novedades y tipos de input

<input type=date> <input type=time>

<input type=datetime> <input type=month><input type=week>

Page 69: Introducción a HTML5 y CSS3 AWGR

LISTAS DONDE ELEGIR

<input type=text list=payasos><datalist id=payasos> <option value=Miliki> <option value=Fofó> <option value=Gaby></datalist>

Page 70: Introducción a HTML5 y CSS3 AWGR

ATRIBUTOS

Page 71: Introducción a HTML5 y CSS3 AWGR

ATRIBUTOS

autofocus

Page 72: Introducción a HTML5 y CSS3 AWGR

ATRIBUTOS

autofocusplaceholder

Page 73: Introducción a HTML5 y CSS3 AWGR

ATRIBUTOS

autofocusplaceholder

pattern

Page 74: Introducción a HTML5 y CSS3 AWGR

ATRIBUTOS

autofocusplaceholder

patternmultiple

Page 75: Introducción a HTML5 y CSS3 AWGR

ATRIBUTOS

autofocusplaceholder

patternmultiple

autocomplete

Page 76: Introducción a HTML5 y CSS3 AWGR

ATRIBUTOS

autofocusplaceholder

patternmultiple

autocompletemin/max

Page 77: Introducción a HTML5 y CSS3 AWGR

ATRIBUTOS

autofocusplaceholder

patternmultiple

autocompletemin/maxstep

Page 78: Introducción a HTML5 y CSS3 AWGR

ATRIBUTOS

autofocusplaceholder

patternmultiple

autocompletemin/maxstep

required

Page 79: Introducción a HTML5 y CSS3 AWGR

CSS 3

Page 80: Introducción a HTML5 y CSS3 AWGR

CSS 3

Nuevas posibilidades de decoración

Page 81: Introducción a HTML5 y CSS3 AWGR

CSS 3

Nuevas posibilidades de decoración Menos markup

Page 82: Introducción a HTML5 y CSS3 AWGR

CSS 3

Nuevas posibilidades de decoración Menos markup

Menos dependencia de javascript

Page 83: Introducción a HTML5 y CSS3 AWGR

CSS 3

Nuevas posibilidades de decoración Menos markup

Menos dependencia de javascript Mayor control

Page 84: Introducción a HTML5 y CSS3 AWGR

BACKGROUND

Multiple backgrounds:

html{ background: url(img/arena.png) no-repeat 70% 20%, url(img/wall.png) repeat left top; }

Page 85: Introducción a HTML5 y CSS3 AWGR

RGBA Y HSLA

#foo {Background: rgba(0, 0, 0, .5);}

#foo {Background: rgba(255, 0, 0, .7);}

RGBa = RGB + alpha

Texto

Texto

Page 86: Introducción a HTML5 y CSS3 AWGR

RGBA Y HSLA

HSLa = HSL + alpha

#foo {Background: hsla(324, 100%, 75%, .5);}

#foo {Background: hsla(324, 100%, 25%, .2);}

Page 87: Introducción a HTML5 y CSS3 AWGR

RGBA Y HSLA

Page 88: Introducción a HTML5 y CSS3 AWGR

@FONT-FACE

Permite incorporar tipografías no instaladas

@font-face { font-family: 'lobster'; src: url('lobster.ttf') format('truetype'); font-weight: normal; font-style: normal;}

Page 89: Introducción a HTML5 y CSS3 AWGR

@FONT-FACE

Page 90: Introducción a HTML5 y CSS3 AWGR

@FONT-FACE

Google Font Directoryhttp://code.google.com/webfonts

Fontsquirrelhttp://www.fontsquirrel.com/

Typekithttp://typekit.com/

Page 91: Introducción a HTML5 y CSS3 AWGR

TEXT-SHADOW

h1 {text-shadow: 3px 3px 5px black;}

h1 {text-shadow: 5px 5px 0px blue;}

Page 92: Introducción a HTML5 y CSS3 AWGR

TEXT-SHADOW

Page 93: Introducción a HTML5 y CSS3 AWGR

BOX-SHADOW

#foo { box-shadow: 5px 5px 10px black;}

#foo { box-shadow: inset 3px 3px 5px black;}

Page 94: Introducción a HTML5 y CSS3 AWGR

BOX-SHADOW

Page 95: Introducción a HTML5 y CSS3 AWGR

BORDER-RADIUS

#foo { border-radius: 10px;}

#foo { border-radius: 50px 0 50px 0;}

Page 96: Introducción a HTML5 y CSS3 AWGR

BORDER-RADIUS

Page 97: Introducción a HTML5 y CSS3 AWGR

TRANSFORMS

#foo { transform: rotate(45deg);}

#foo { transform: scale(0.5);}

Page 98: Introducción a HTML5 y CSS3 AWGR

TRANSFORMS

#foo { transform: skew(45deg);}

#foo { transform: translate (20px,-20px);}

Page 99: Introducción a HTML5 y CSS3 AWGR

CSS 3 SHAPES#circle { width: 140px; height: 140px; background: red; -moz-border-radius: 70px; -webkit-border-radius: 70px; border-radius: 70px;}

Page 100: Introducción a HTML5 y CSS3 AWGR

CSS 3 SHAPES#oval { width: 200px; height: 100px; background: purple; -moz-border-radius: 100px / 50px; -webkit-border-radius: 100px / 50px; border-radius: 100px / 50px;}

Page 101: Introducción a HTML5 y CSS3 AWGR

CSS 3 SHAPES#left-triangle { width: 0; height: 0; border-right: 100px solid orange; border-top: 50px solid transparent; border-bottom: 50px solid transparent;}

Page 102: Introducción a HTML5 y CSS3 AWGR

Y MUCHAS MÁS

http://css3shapes.com/

Page 107: Introducción a HTML5 y CSS3 AWGR

¡GRACIAS!:)