HTML 5 y CSS 3
Introducción - HTML5
HTML5 elimina bastante restricciones y limitaciones
Es más ligero al ser más sencillo y simple el código
Introduce:
Google Search prioriza las páginas hechas en HTML 5.
Pregunta
¿La página escrita en HTML5 va a andar en cualquier navegador?
Probar en mi browser
2013: 468/500
2014: 503/555
2015: 523/555
2016: 526/555
IE8: 138/500
IE9: 320/500
IE11: 336/555
Edge: 453/555
2014: 449/555
2016: 467/555
2014: 497/555
2016: 525/555
Pregunta
¿Por qué hacer webs en HTML5 si ningún navegador tiene full support?
Tráfico Internet - Desktop Vs Mobile
Inversiones en publicidad
Uso de Internet en Horas/Dispositivos
Uso de Internet y Dispositivos
Tráfico Internet - Desktop Vs Mobile
¿Por qué hacer webs en HTML5?
Funcionan en múltiples dispositivos (que tengan un browser que soporte HTML5):
Accesibilidad: Como expresa mejor semántica, es mejor para los lectores de pantalla para personas no videntes.
Mejor interacción con el browser. Un standard pensado para hoy, no para los 90’s :)/
¿Quiénes desarrollan/empujan en HTML5?
¿Qué agrega HTML5?
Semantics –Forms Offline & Storage –App Cache * –Local Storage –Indexed DB –File API Device Access –Geolocation API Multimedia –Audio & Video | 3D, Graphics, Effects –SVG, Canvas –WebGL –CSS3 3D CSS3 –Web Open Font Format Connectivity, Performance & Integration –Web Sockets –Web Workers –XMLHttpRequest Level 2 |
HTML 5 Multimedia
Nuevos Tags
Audio
Por defecto no se muestra
Si se pone el atributo autoplay,
empieza a reproducir pero no
se ve.
Audio
<audio src="https://ia601307.us.archive.org/25/items/GustavoCeratiInfinito15/2%20Crimen.ogg" autoplay controls>
Your browser does not support the <code>audio</code> element.
</audio>
Audio
<audio controls="controls">
Your browser does not support the <code>audio</code> element.
<source src="https://archive.org/download/GustavoCeratiInfinito15/2%20Crimen.ogg" type="audio/ogg">
<source src="https://archive.org/download/GustavoCeratiInfinito15/2%20Crimen.mp3" type="audio/mp3">
</audio>
�
Video
Video
Buena Práctica
Video
<audio controls="controls">
Your browser does not support the <code>audio</code> element.
<source src="https://archive.org/download/GustavoCeratiInfinito15/2%20Crimen.ogg" type="audio/ogg">
<source src="https://archive.org/download/GustavoCeratiInfinito15/2%20Crimen.mp3" type="audio/mp3">
</audio>
Video - Multiple sources
Por si el browser no soporta una codificación de un video, podemos usar el tag source para indicar múltiples fuentes.
<video width="480" controls poster="https://archive.org/download/3stooges/3stooges_NewApants2.gif" >
<source src="https://archive.org/download/3stooges/3stooges_NewApants2_512kb.mp4" type="video/mp4">
<source src="https://archive.org/download/3stooges/3stooges_NewApants2.ogv" type="video/ogg">
<source src="https://archive.org/download/3stooges/3stooges_NewApants2.avi" type="video/avi">
Your browser doesn't support HTML5 video tag.
</video>
Ejercicio
Ir a archive.org y buscar un:
Crear una página que muestre:
Incluir una página dentro de otra
La posibilidad de incluir una página dentro de otra es previo a HTML5.
Se utiliza para agregar contenido externo que no está en mi web
Cómo incluyo un video de YouTube?
Pero qué es ese HTML que nos da YouTube?
IFrame
IFrame
<iframe width="560" height="315" src="https://www.youtube.com/embed/mzPxo7Y6JyA" frameborder="0" allowfullscreen></iframe>
Ejercicio
Semántica
Próxima clase!
Offline & Storage
Offline & Storage
–App Cache * permite especificar recursos que se mantendran visibles en el browser cuando se pierda conexión y/o refresque la vista.
–Local Storage, (LT)
– IndexedDB, permite almacenar datos de forma persistente desde el browser. Brinda la posibilidad de crear aplicaciones web que pueden trabajar tanto offline como online o sin la necesidad de una conexión persistente.
–File API, permite leer y manipular contenido de archivos
https://developer.mozilla.org/en-US/docs/Web/HTML/Using_the_application_cache
https://developer.mozilla.org/en-US/docs/Web/API/IndexedDB_API/Basic_Concepts_Behind_IndexedDB
https://developer.mozilla.org/en-US/docs/Web/API/File/Using_files_from_web_applications
Device Access
Device Access
–Geolocation API, permite localizar las posición geográfica del usuario.
– Camera API, posibilita controlar la cámara de los dispositivos, sacar fotos y subirla a la web
– Detección de Orientación del Dispositivo, y Eventos Touch para dispositivos Móviles
Refs:
https://developer.mozilla.org/en-US/docs/Web/API/Geolocation/Using_geolocation
https://developer.mozilla.org/en-US/docs/Archive/B2G_OS/API/Camera_API/Introduction
https://developer.mozilla.org/en-US/docs/Web/API/Detecting_device_orientation
https://developer.mozilla.org/en-US/docs/Web/API/Touch_events
https://developer.mozilla.org/en-US/docs/Web/API/Notifications_API/Using_the_Notifications_API
Connectivity, Performance & Integration
Conectividad y Procesamiento
–Web Sockets (LT)
–Web Workers (LT)
–XMLHttpRequest Level 2 (LT)
CSS 3
Introduccion CSS 3
http://www.w3schools.com/css/css3_intro.asp
CSS3 multi browser: http://css3generator.com/
Bordes y Sombras
HTML
<section>
<h1>Titulo</h1>
</section>
CSS
section {
box-shadow: 10px 10px 5px gray;
border: 2px solid blue;
border-radius: 25px;
width: 200px;
padding: 20px; }
h1 {
text-shadow: 2px 2px red; }
Transparencias y Gradientes
Se puede agregar transparencia / opacidad a colores de fondo o imágenes.
El color en RGB y el último valor para la transparencia
También se pueden establecer gradientes de color.
http://www.w3schools.com/css/css_image_transparency.asp
http://www.w3schools.com/css/css3_gradients.asp
div {
padding: 20px;
color: #FFFFFF;
background: rgba(200, 54, 54, 0.5); }
.gradiente {
background: linear-gradient(to right, red,orange,yellow,green,blue,indigo,violet);
}
Ejercicio
Animaciones
Con CSS3 se pueden aplicar animaciones a distintas propiedades de CSS.
Cada animación se define con @keyframes, estableciendo la evolución y cambios en la propiedades.
Luego dentro de la clase que se quiere animar, se define la animación aplicada y las propiedades de la misma.
Animación “pulse”, con propiedades, de duración 5s y repetición infinita aplicada sobre .element
Evolución de la animación, y propiedades que se cambian en cada paso
Más Ejemplos: http://www.minimamente.com/example/magic_animations/
.element {
animation: pulse 5s infinite;
}
@keyframes pulse {
0% {
background-color: #001F3F;
}
100% {
background-color: #FF4136;
}
}
3D, Graphics, Effects
–SVG, Canvas, manejo de gráficos vectoriales y herramienta de dibujo (LT)
–WebGL, es una API de JS multiplataforma para crear gráficos 3D en un navegador web, está basada en la conocida biblioteca de gráficos OpenGL
–CSS3 3D, permite aplicar estilos y transformaciones en tres dimensiones
WebGL
https://www.creativebloq.com/3d/30-amazing-examples-webgl-action-6142954
CSS3 3D
https://www.creativebloq.com/css3/20-stunning-examples-css-3d-transforms-11112759
Próximamente...
No desesperen,
Esto lo ven en
Interfaces de usuario e Interacción
(2° año, 2° cuatrimestre)
Deprecated
Deprecated
Bibliografía
HTML 5
CSS 3
AHORA LES TOCA PRACTICAR :D