Está en la página 1de 15

Nuevas capacidades de CSS3 y video

en HTML5
Nuevas capacidades de CSS3
Antes de cualquier cosa, sabas que CSS3 tambin tiene logo de Super
Heroe?

Disear en CSS ha sido una mezcla entre risas de victoria y gritos de ira.
No slo por la falta de compatibilidad con OldIE, sino porque cosas como
bordes redondeados en tamaos dinmicos requiere mltiples divs,
estilos y cuatro PNGs diferentes en el mejor de los casos. Ya no ms,
CSS3 es hermoso y trae para ti opciones que hacen el diseo
estpidamente fcil.@font-face, @fucking-font-faceEs la capacidad de
usar CUALQUIER FUENTE EN HTML. Sin necesidad de Flash, Cufon
(s, cufn es malsimo), fuentes en imgenes PNG, SiFR u otras cosas
de hippies. Saben qu otra cosa? Esto funciona perfecto desde OldIE
Y saben qu ms? NADIE LO USA.
@font-face es un atributo de CSS3 bastante oscuro que permite usar
cualquier fuente en tus diseos. Implementarlo no es dificil. Podrs
disear todo lo que quieras para la web sin restricciones tipogrficas.
Fuentes @font-face: ttf, woff, eot, svg

Todos conocen True Type (.ttf) y en menor medida Open Type (.otf), pero
pocos conocen la amplia cantidad de formatos que existen en la web
actual y esa es la principal razn para que nadie implemente (bien)
@font-face.
TTF es muy estndar pero no tiene proteccin ninguna. Es un formato
abierto y reusable, por lo que fuentes privadas o propietarias (como
Helvetica o Myriad Pro) al ponerlas en la web, son distribuidas. Esto est
prohibido por la licencia del creador de la fuente (historia larga) y para
ello, varios navegadores crearon estas opciones:
EOT: El formato Embedded Open Type (.eot) fue creado por Microsoft
como pionero en Internet Explorer 6 para agregar fuentes a travs de
font-face. Es bastante oscuro pero es la nica forma de hacer que las
fuentes funcionen en IE6, 7 y 8.
WOFF: Web Open Font Format es el formato oficial de la W3C, creado
por Mozilla y ahora apoyado por Chrome, Opera e IE9 y 10. Tambin
oscuro, pero tambin necesario.
SVG: Scalable Vector Graphics es un formato de dibujo vectorial
soportado por todos los navegadores y por herramientas como Adobe
Illustrator. SVG tambin puede contener fuentes por dentro, porque una
fuente a fin de cuentas es un vector. SVG es obligatorio para darle
soporte a Safari Mobile (iPhone, iPad).
Implementacin de @font-face en CSS3 compatible con TODOS los
navegadores
Para implementar una fuente en @font-face para todos los navegadores
de escritorio o mviles, hay que convertirla a todos los formatos
anteriores. Pero usando herramientas como FontSquirrel @font-face
generator.
La sintaxis de font-face es muy sencilla. Slo colocas esto en las
primeras lineas de tu CSS:

@font-face
{
font-family: "Mejorandola";
src: url("fuentefancy.eot");
src: url("fuentefancy.eot?#amomejorandola") format("embeddedopentype"),
url("fuentefancy.woff") format("woff"),
url("fuentefancy.ttf") format("truetype"),
url("fuentefancy.svg#IDdelafuente") format("svg");
}

.eot siempre debe ir de primeras y siempre debe ir dos veces. Porque


Internet Explorer 6, 7 y 8 son como un ex psicopata. Siempre quiere que
le pongas de primeras ante el resto.
Tambin recuerda que puedes agregar tantos @font-face como quieras.
Simplemente declaras otro bloque @font-face y le pones otro font-family.
Ya est.
Las fuentes SVG tienen un ID que debe ir frente a ellas con el signo #. Lo
consigues abriendo el .svg con cualquier editor de texto y buscando el
atributo "id".
Luego, simplemente usas la fuente con el nombre arbitrario que le diste.
Por ejemplo, si quieres cambiar la fuente de todos los h1, slo haces

h1
{
}

font-family: "Mejorandola";

As de fcil.
Google Fonts API
Google tiene una base de datos bastante interesante de tipografas
abiertas donde, con una linea de cdigo, ellos se encargan del CSS,
detectan el navegador y envan, desde sus servidores, la fuente correcta.
Es una forma fcil y sin dolor de implementar font-face, aunque ests
limitado a las fuentes de Google.
Con Google Webfonts solo hace falta importar un script dinmico que va
a llamar el formato de tipografa correcto para tu navegador y con la
declaracin en tu hoja de estilos puedes aplicarlo en tus diseos.
http://www.google.com/webfonts/v2

En Cristalab tenemos dos artculos detallados en el uso de Google Fonts:


Usa cualquier fuente en CSS y HTML con el Font API de GoogleGoogle
Fonts v2: Usa cualquier tipografa en HTML, mejorado
Dos grandes ejemplos de @font-face ya implementados
Curiosamente, fue Microsoft, en el lanzamiento de Internet Explorer 9,
quien hizo un sitio llamado Lost Worlds Fair, donde muestra dos muy
impactantes ejemplos de uso de fuentes. El primero es Moon (visto en la
primera imagen de este artculo) y otro bastante poderoso es El Dorado.
Muchas fuentes gratuitas al 100% pueden ser encontradas en
Fontsquirrel @font-face kits o en Google Web Fonts. O puedes convertir
la que quieras mientras tengas la licencia.
Ahora ya puedes crear diseos con cualquier tipografa. Hora de
abandonar Arial, Times y Helvetica.
Selectores CSS
Te ha tocado hacer un diseo donde una lista o tabla tiene algunos
elementos en blanco y los otros en gris? Como una cebra. Antes, la nica
forma era hacerlo a mano o con un script del lado del server. Ahora, con
CSS3, slo tienes que especificar un color para "odd" y otro para "even"

y listo.
Igualmente, puedes crear estilos para el primer elemento y otro para el
ltimo. O estilos para etiquetas iguales con ciertos atributos diferentes en
HTML. Y esto es muy compatible desde IE8.
Columnas de texto
Sabes cmo se haca antes que varios prrafos de texto se dividiera en
columnas con HTML? No se poda. Ahora slo requieres un atributo CSS
para lograrlo. Y puedes controlar la cantidad de columnas, el espacio
entre ellas, lineas de separacin, etc.
Opacidad, transparencia, canales alpha, contraste, saturacin y
brillo
Autodescriptivo. Vuelve lo que quieras transparente u opaco con una
instruccin. Imgenes, textos, sombras, bordes, lo que sea. O si quieres
convertir una foto en blanco y negro o sepia, lo puedes hacer con slo
CSS.
rojo verde azul alfa (rgba)
es una de las nuevas formas de introducir colores en css3 que se basa
en esos tres colores bsicos con valores entre 0 y 255 y un canal alfa
que distara la transparencia de dicho color con valores de entre 0 y 1,
esto es aplicable a todo lo que le podas poner color. por ejemplo:

background:rgba(255,255,255,.5);
color:rgba(255,255,255,.5);
border-color:rgba(255,255,255,.5) ;

eso todos lo casos se producir un color blanco con una opacidad al


50%.
tambin podemos usar solo rgb para colores solidos y transparencia
teniendo el efecto de los valores hexadecimales
brillo saturacion contraste alfa (hsla)
de una manera similar manejamo el brillo saturacion y contraste con
css3, si como photoshop, en este caso de valores a ingresar seran en
porcentaje el cual medira el grado del efecto
Animaciones de transicin y transformacin

Las animaciones que antes lograbas con jQuery o Javascript ahora


pueden ser logrados slo con CSS. Con una ventaja adicional, al hacerlo
con CSS, las animaciones vendrn aceleradas por hardware. Mucho ms
veloces, sobre todo en dispositivos mviles.
Bordes redondeados
S. Con una instruccin puedes hacer que cualquier caja tenga bordes
redondeados como quieras. Olvidate de crear mltiples divs, cortar pngs
y otros temas arcaicos.
Reflecciones, gradientes y sombras
Si no has superado la web 2.0, puedes poner reflecciones a cualquier
elemento HTML. Pero lo interesante es crear gradientes para fondos y
sombras para cajas o texto, todo en una sola linea de cdigo y con el
mismo nivel de complejidad que logras con una sombra en Photoshop o
Fireworks.

El tag <video>
Uno de los espacios ms polmicos de la web
Hablar de vdeo en Internet es hablar de ciclos, de batallas campales
entre los CEOs ms influyentes en el mundo de tecnologa, de la
compleja estandarizacin de un codec o de un player. Hay un avance
importante con el tag <video> pero esto apenas empieza y mucha de la
historia seguramente se va a repetir nuevamente.
Regresemos en el tiempo al ao 2004. No exista Youtube. Por lo
mismo, si queras alojar y compartir en un navegador cualquier vdeo te
enfrentabas a dramas de plataforma, de ancho de banda y de problemas
de usabilidad para el usuario final.
Si encontrabas algn enlace que te llevara a ver videos en la web
seguramente te sonaran los logos de Real Player, de Windows Media
Player o incluso de Quicktime. Del lado del servidor los sysadmins tenan
que pelear con Real Media Server, Windows Media Server que era parte
del IIS y otro montn de opciones, pero era complicado unificar. Adobe
por su parte haba logrado importantes avances para que desde archivos
.swf pudieras incorporar videos, pero no haba un solo canal.

En el ao 2005, 3 jvenes dejaron de trabajar en Paypal y emprendieron


el sueo de crear una plataforma universal para compartir video. Ese
ao nace Youtube y el mundo fue un lugar ms feliz.
Paralelamente, Adobe demostr que su esfuerzo para crear un sistema
para reproducir vdeo iba a ser valorado y aprovechara el dominio que
su plugin de flash tena en todos los navegadores del planeta. Los
sysadmins educaron a sus usuarios a crearse una cuenta en Youtube y
que dejaran de molestar con complejos servidores para alojar y
reproducir vdeos. Todos hemos vivido ms felices, Lady Gaga es cada
da ms famosa y nyancat est educando a tus hijos.
En abril del 2010 una carta de Steve Jobs a sus sbditos (entiendase a
todos los clientes de apple) sobre sus pensamientos de Flash arranca
uno de esos nuevos ciclos donde una plataforma disruptiva que cada da
ganaba mercado le daba la espalda al famoso plugin de Adobe en sus
dispositivos mviles. Apple le prometa larga vida al Html5 porque todo
se poda resolver en temas de vdeo con un tag aprobado por el
estndar. Hoy volvemos a tener una batalla de grandes empresas por el
codec luego de que estn todos de acuerdo que el navegador lleva una
opcin amigable para incluir un elemento de vdeo, porque este elemento
es tan importante como las imgenes.
Y podemos usar perfectamente el ejemplo de las imgenes para
entender lo que pasa con el video. Todos los navegadores permiten que
en un documento HTML incluyas un tag <img> al cual debes decirle la
ruta a una imagen. Y la imagen puede ser un .jpg, un .gif, un .bmp o
un .png (entre otros formatos). Depender de la capacidad de tu
navegador para reconocer todos los contenidos de esta imagen,
interpretarla y mostrarla. Con el vdeo pasa lo mismo.
Con <video> dejamos de usar video en flash?
El debate sobre Flash y Html5 da para los programas ms entretenidos
de mejorandolaweb.
Adobe tiene tecnologa slida y es de los reproductores que mejor
entiende de codecs y licencias. Es una solucin prctica para que no
tengamos que lidear con esos problemas y sigue siendo la base de
Youtube. Youtube sigue siendo la solucin prctica para que vos y yo
compartamos en segundos un vdeo, le generemos difusin y hagamos
adems social media.
Pero incluso Youtube est haciendo esfuerzos importantes en miras de
Html5, resolviendo otros dramas que incluye este tag.

Revisa youtube.com/html5 con un navegador moderno y conoce ms


de sus experimentos.

No dejamos de usar flash, es ms, es uno de los planes de contingencia


ms seguros para que muchas personas y navegadores viejos puedan
ver tus contenidos en vdeo.
Uso del tag <video> y el soporte de formatos en diferentes navegadores
Si hablamos de navegadores, recuerda que hay una versin donde el
video empezo a existir. Antes, simplemente no va a mostrar contenido y
detectarlo para mostrar un player alternativo (en flash) es recomendado:
IE 9+, Firefox 3.5+, Chrome 3.0+, Safari 3.0+, Opera 10.5+, Android
Browser 2.0+, Safari Mobile 1.0+
Para incluir un video con HTML5 usas el siguiente formato:

<video src=un-video-mlw.avi width=320 height=240></video>

Adicionalmente al ancho y alto, hay otros atributos que puede usar:


preload = que empezar a precargar el video independientemente de las
acciones del usuario sobre el player.

<video src=un-video-mlw.avi width=320 height=240


preload></video>

Recomendamos utilizarlo si la funcin de la pgina es mostrar un video.


Si por el contrario, el video nicamente ayudar a complementar la
informacin (un post que tiene mltiples videos o referencias, no lo
recomendamos).

<video src=un-video-mlw.avi width=320 height=240


preload=none></video>

Y el anterior que le dir explicitamente que no tiene que precargar el


video.
autoplay = dar play al video en cuanto cargue la pgina sin accin del
usuario sobre los controles.

<video src=un-video-mlw.avi width=320 height=240


autoplay></video>

controls = invoca a incluirse los controles (play, pausa, volumen, etc.) en


el player del video. Estos controles estn predefinidos en cada
navegador y como veremos ms adelante en algunos players estas
opciones pueden ser modificados con javascript + css3.

<video src=un-video-mlw.avi width=320 height=240


controls></video>

Qu formatos podemos incluir?


Aqu es super importante entender una diferencia entre los tipos de
archivo y los codex con que el video ha sido procesado. Un .avi, .mp4 (o
.m4v), un .flv (flash video) y un .ogv simplemente contienen un video,
pero cada formato puede tener diferente forma de codificarlo.
Los navegadores y las compaias que los producen han elegido soportar
nicamente a algunos codecs y lamentablemente no existe una
alternativa definitiva y universal. En serio, no existe, tenemos tag
<video> y el drama ha quedado por aqu, en que tienes que codificar tus
videos al menos en algunos formatos para asegurarte que funcione en
todos lados. Ven por qu Youtube sigue siendo una opcin
maravillosa?
Hablemos entonces de Codecs. Hay 3 que importan hoy en da: H.264,
VP8 y Theora.
H.264.
Conocido como MPEG-4 Advanced Video Codiging, es el ms popular
hoy en da, lo usa youtube cuando muestra videos desde el flash player

(el flash player lo soporta sin problema). Es el que le da vida a los videos
en un iPhone, en tu iPad. Incluso muchos reproductores de Blue-ray lo
soportan. Es genial, es asombroso, pero tiene algunos temas legales
detrs que complica su existencia. Hay un grupo, el MPEG LA group
que tiene patente sobre este formato y le quiere cobrar a todos los que
decodifiquen su formato. Google no es muy amigo de este formato.
Chrome ya tiene el 20% del mercado y Android sigue creciendo. En
enero le dijeron adis.
VP8.
Google compr hace unos aos a una empresa llamada On2 por una
millonada descabellada porque tenan avances con desarrollos de
codecs de videos. Y unos aos despus ponen a disposicin del
mundo el VP8. Es todo lo bueno que puedas pedir en este tipo de
enrollos legales ya que lo liberaron gratis, sin pagar derechos ni nada
raro a quien lo quiera usar. Es un regalito de Google para el mundo.
Pero Microsoft y Apple no quieren regalos de nadie, as que ya
entenders cul es el problema de este formato.
Theora.
No tiene dramas de patentes, es royalty free, funciona en Linux y es
seguramente el que viene en archivos Ogg. De hecho, se basa en
desarrollos de On2 (la empresa que eventualmente fue adquirida por
Google) y llev esto por otro camino que es muy libre, transparente,
bueno, lindo, pero menos popular. Puedes instalar decodificadores en
windows, en mac. Hoy lo soporta Chrome (junto a VP8) y suena
maravilloso pero como todo lo gratis y open source, pareciera que le
hace falta alguien de marketing que lo popularice un poco ms. Google
es amigo de este formato.
Resumen ejecutivo de estos formatos, tienes que usar al menos h.264 y
Theora o VP8 para que la web te vea. No puedes usar solo uno, toca
elegir dos.
Y por cierto, solo hemos hablado de codecs de video. Hablemos
entonces de los Codes de audio:
MP3 - MPEG 1 Audio Layer 3
Este es muy famoso y conocido, popularizado por las descargas
musicales, seguro que tienes ms de algn archivo en tu computador con
este formato. Pero la mala noticia es que tiene patentes de software, esta
limitado a dos canales y si empiezas a hacer cosas en serio toca pagar

licencias.
AAC
Popularizado por Apple, seguramente lo has utilizado cuando convertiste
msica para tu iPod o bajaste msica del iTunes Store. Tiene 48 canales
as que es muy poderoso, aunque tambin tiene patentes (apple patenta
todo) y entonces puede tener problemas de licencias si se usa en tus
proyectos.
Vorbis
En el mundo siempre existen alternativas gratuitas y libres, gracias a
todos esos hackers rebeldes que buscan opciones. Tiene mltiples
canales, es royalty free (no tiene nada de patentes) y lo encuentras
usualmente en el contender Ogg. No es muy popular, pero est all y hay
que aprovecharlo.
Si empezamos a combinar codes de audio y vdeo, ms los diferentes
contenedores, encontramos 3 alternativas que hay que trabajar para
nuestros vdeos:
Webm (contenedor) y VP8 (video) + Vorbis (audio) - esta frmula la
promueve Google para Chrome y a futuro para Android. Es libre.
MP4 (contenedor) y H.264 (video) + AAC (audio) - esta frmula la
promueve apple y recuerda que ms de 20 millones de iPads se
vendieron el ao pasado. De hecho mientras escribo esto en un avin
alguien est jugando Angry Birds en su iPad a mi lado, este mercado
apenas est creciendo.OGG (contenedor) y Theora (video) + Vorbis
(audio) - la frmula ms libre, sin patentes y que suena a amor puro.
Aunque la usa y requieren muy pocas configuraciones. Te dira que hasta
puedes ignorarla y preocuparte ms por trabajar con Webm.
Entonces terminars con dos archivos en cada configuracin que utilice
vdeo. mp4 y webm. Cmo los implemento en el tag video? Fcil,
generndole diferentes sources:

<video width=320 height=240 controls>


<source src="mejorandola.mp4" type='video/mp4;
codecs="avc1.42E01E,mp4a.40.2"'>
<source src="mejorandola.webm" type='video/webm;
codecs="vp8,vorbis"'>
</video>

Aqu estamos asegurndonos que el tag video funcione para la gran


mayora de los navegadores independientemente de los dramas de
codecs que manejen. Una versin libre apoyada en principio por Google

y que est disponible en muchos motores de render bastante liberales. Y


otra versin que est muy dedicada al mundo Apple y sus nuevos
dispositivos.
Qu hacer con navegadores viejos?
OldIE por ejemplo no va a aceptar el tag video. Pero si hay un flash
player instalado seguro que es otra opcin. Dnde incluir el cdigo
embed de flash? Justo debajo del source, encerrado dentro del tag
video. El navegador mostrar la opcin que reconozca.
Players
Finalmente, hay un inciso ms en el mundo de <video>.
La opcin de controls en el tag video abre un mundo de posibilidades
para que te pongas a generar un reproductor visible al usuario
personalizado. Y los hackers del mundo han visto opcin para poner su
talento artstico a disposicin de los dems. Hay muchas opciones de
players de video que puedes utilizar e incluir en tus pginas HTML5. La
mejor opcin para conocer esta ensalada es:
http://praegnanz.de/html5video/

Las opciones son muchas y hay demasiados grupos de desarrolladores


asegurando generar buenas alternativas al estandar definido en cada
navegador.
Entre las opciones ms populares all descritas y que hemos seguido:
Videojs
Han sabido vender la propuesta de su player con varios skins que imitan
los principales sitios de video en la web. Es un proyecto libre y mi mejor
recomendacin si te vas a tomar muy en serio el tema de alojar tus
videos en tu sitio y mostrarlos a la mayor cantidad de navegadores.

Sublime Video

Un proyecto con un fin comercial que quiere hacerse cargo del player
para que vos te encargues de generar el contenido. Aunque sigo sin
verle la proposicin de valor por sobre lo que me puede entregar
Youtube. Pero me alegran las opciones.

Media Elements
Otra de las propuestas, con un player para <video> y <audio> que
adems tiene versiones compatibles con un flash player para
navegadores viejos. Es de esos que te permiten aprender bastante

mientras juegas con su cdigo.

Importante con el tema del vdeo entender que HTML lo ha reconocido


como una de las bases ms importantes de la Web del presente y su
mundo de posibilidades es increble. Imagina un sitio web cuyo fondo es
un video mientras que las acciones reproducen otro video que se anima
junto a efectos en CSS 3 genera una experiencia completa en tu
navegador. Ms adelante vers ejemplos concretos.
Ah y recuerda que la caja de video es totalmente modificable con
HTML5. As que se le pueden poner sombras y bordes redondeados.
Esos son los pequeos detalles por los que este momento HTML5 es
tan gratificante.

También podría gustarte