Posts Tagged ‘estándares’

Alternar el color de las filas con CSS3

Escrito por Oriol Navascuez en 03/05/2011

Los que trabajamos programando o diseñando front-end i/o back-end nos hemos dado muchas veces con la necesidad de, a la hora de generar una tabla, que esta intercale los colores de sus filas de forma automática.  Y cuando digo automática, me refiero a que no lo tengamos que hacer mediante programación en la creación de la tabla.

Si alguna vez habéis participado en la mejora de un site, o habéis visto el código de webs que no son vuestras, quizá hayáis dado con alguna que solucione esto de la siguiente forma:


<tbody>
	<tr class="odd">
		<td>Contenido</td>
	</tr>
	<tr class="even">
		<td>Contenido</td>
	</tr>
	<tr class="odd">
		<td>Contenido</td>
	</tr>
	<tr class="even">
		<td>Contenido</td>
	</tr>
</tbody>

Muchas veces se crean dos clases “odd” (impar) y “even” (par), para dar un color distinto a cada fila, y así al generar la tabla se intercala la clase a medida que se genera. Es una solución, pero no la mejor de ellas. Sin contar en que tenemos que crear una condición en el bucle de la programación para que itere entre las dos opciones si es par o impar.

La mejor solución, y que para eso existe, es usando selectores de tercer nivel que nos ofrece CSS3.
Si ahora mismo no sabéis de que estoy hablando, seguro que este trocito de código os suena:

a:hover{}

:hover es un selector de tercer nivel, clasificado como una pseudo-clase de acción, ya que se encarga de cambiar el formato de un elemento según pase el ratón por encima.

Y ahora que sabemos bien que son los selectores de tercer nivel, os enseñamos como hacer el cambio de color de las filas, usando :nth-child, que es una pseudo-clase estructural.

:nth-child(n): Este selector selecciona el elemento indicado con la condición de que sea el hijo enésimo de su padre. Es útil para seleccionar el segundo elemento de una lista, el quinto párrafo de un texto, etc.

La explicación matemática es la siguiente:
Representamos el elemento que queremos seleccionar con la expresión (an+b) e identificaremos una lista con “a” elementos en la que queremos destacar el elemento “b“.

EJEMPLO:

tr:nth-child(2n+1) /* representa cada fila impar de una tabla HTML */

tr:nth-child(odd)  /* igual al anterior */

tr:nth-child(2n+0) /* representa cada fila par de una tabla HTML */

tr:nth-child(even) /* igual al anterior */</pre>

Podemos jugar tanto como queramos con esto, por ejemplo, si queremos seleccionar un elemento de cada nueve de una lista infinita. Sería algo como (10n-1) o (10n+9):

:nth-child(10n-1)  /* representa el 9, 19, 29, etc, elementos */

:nth-child(10n+9)  /* igual al anterior */</pre>

Si lo queréis ver ejemplificado, aquí podéis ver una demo en acción:
DEMO

Más info:
Selectors Level 3 [W3C]

Initializr, plantilla HTML5 en 15 segundos!

Escrito por Oriol Navascuez en 17/02/2011

Poco a poco ya se va haciendo eco y se va usando en más y más webs el HTML5. Pero aun le queda un largo camino que recorrer hasta que no veamos versiones completas de este. Tan largo, que la W3C anunció hace a penas 4 días que el proceso de desarrollo del HTML5 durará hasta 2014. Podéis ver la noticia en este enlace.

Pero lo que os traemos con esta nueva entrada es una pequeña, pero útil, herramienta que tener en cuenta a la hora de empezar un nuevo proyecto que queramos desarrollar con HTML5. Se llama Initializr, que con 5 sencillos clics tenemos a nuestra disposición una plantilla en HTML5 incluso con las librerías JavaScript que queramos usar, o incluso con el fichero de configuración para nuestro servidor.

Así que os invito a poner este recurso en vuestras barras de favoritos. Os ahorrará mucho tiempo en evitar escribir de cero la estructura básica HTML a la hora de hacer una plantilla.

ZARA – [Destripando webs I]

Escrito por Oriol Navascuez en 06/09/2010

Después de unas bien aprovechadas vacaciones de verano, y una pausa de una semana sin querer ni poder ponerme al día de nada de nada… me ha dado por inaugurar una nueva categoría en el blog de 2Novatos, Destripando webs. Con esta categoría nueva, intentaremos poner un poco verdes portales web que al margen de su popularidad, no han sido capaces de hacer las cosas bien hechas. De esta forma no solo vemos lo que NO hay que hacer, sino como solucionar esas carencias. Vamos a ello!
(more…)

Reproductores de vídeo en HTML5

Escrito por Oriol Navascuez en 26/04/2010

Vídeo HTML5Últimamente se está hablando mucho sobre HTML5, de los avances que está teniendo, de lo que mejorará la navegación, de lo accesible que será,…

Claro que es cierto, y ya es bueno que llegue este cambio a mejor. Y con este cambio, os traemos alguno de los últimos avances que está teniendo esta nueva versión de HTML, los reproductores de vídeo. Para insertar vídeo con esta nueva versión de HTML, solamente tenemos que incluir el siguiente código:

<video src="RutaDelVideo.ogg" controls="controls">
 Tu navegador no soporta la etiqueta vídeo de HTML5.
 </video>

Con esto, ya tenemos incluido un vídeo en nuestra página web, sin necesidad de plugins de flash, ni otras herramientas. Aun que una cosa tenemos que tener clara si queremos poner nuestro reproductor HTML5 en nuestra web, y es que solo permite vídeos en Ogg/Theora y/o H.264/Mp4. Y aun que la mayoría de navegadores ya soportan este nuevo tag, hay navegadores que permiten un codec y otros que solo permiten el otro. Os hacemos una lista de que codec soporta cada explorador:

  • Presto/Opera: HTML5 mediante GStreamer (incluye sólo Ogg/Theora).
  • WebKit/Chrome: HTML5 mediante ffmpeg (Ogg/Theora y H.264/MP4).
  • Gecko/Firefox: HTML5 con Ogg/Theora.
  • WebKit/Epiphany: HTML5 mediante GStreamer (Ogg/Theora garantizado).
  • WebKit/Safari: HTML5 mediante QuickTime (H.264/MOV/M4V, puede reproducir Ogg/Theora con XiphQT components)

Así que por ahora, el más recomendado para este fin podemos decir que es Chrome, ya que es el único que ofrece soporte a ambos codecs.

Podéis ver aquí una DEMO que hemos hecho para que veáis ambos codecs, y lo probéis en vuestros exploradores.

Claro que esto no es todo, y ya han ido saliendo a la luz otros reproductores en HTML5 más trabajados, y con más posibilidades. Uno de ellos es SublimeVideo un reproductor de vídeo en HTML5 desarrollado por el grupo Jilion_[en]. Si tenéis un navegador que soporte HTML5, podéis ver un ejemplo haciendo clic aquí.
Lo malo de este reproductor es que aun está en desarrollo y no lo han hecho público, por lo que tendremos que esperar a poder usarlo.

Otro de estos reproductores, es el OSM (Open Source Media) de la mano de MediaFront. Este reproductor nos permite reproducir vídeos y sonidos en los formatos más extendidos, además de la posibilidad de integrar en el mismo, vídeos de youtube y vimeo. Y no solo eso, sino que nos permite crear listas de reproducción, y tener varios vídeos como si de una pequeña biblioteca multimedia se tratara. Ya ofrecen compatibilidad de integración don Drupal, y próximamente lo harán para WordPress, Joomla y moodle.

Así que por ahora este último reproductor parece ser el más completo, por no decir el único, del que se dispone por el momento.