
La semana pasada hablábamos sobre fondos con degradados en CSS3. Esta semana continuamos la serie de introducción a CSS3 hablando de los backgrounds o fondos. Varios han sido los cambios introducidos a los mismos y el módulo de la nueva especificación relativo a ellos es ya un
Uno de los cambios que mas hype han generado, es la posibilidad que nos ofrece CSS3 de crear diferentes capas para nuestros fondos y poder de esa manera generar complejas composiciones e incluso animaciones con las nuevas propiedades de transición de CSS3 (de las que ya hablaré en su día) o con scripts JavaScript.
Pero no es solo ese el único cambio que trae consigo CSS3 para los fondos. También se incorporan otras propiedades para fijar el tamaño, la posición o el origen de nuestros fondos. En las próximas líneas hablaremos sobre todas ellas en esta nueva introducción a las propiedades de los fondos en CSS3.
Una de las nuevas propiedades introducidas es la capacidad de especificar el ancho y alto de los fondos. Este tamaño puede ser expresado en píxeles, ancho y alto, o en porcentajes. Si se define en porcentaje, entonces este es relativo al ancho o alto del área que se haya señalado para ser usada con background-origin
También es posible especificar el tamaño a través de tres palabras clave:
background-size: 210px 80px;Un sueño dentro de un sueño… ahora en serio. Fija la posición del fondo relativa al borde, padding o contenido del elemento. Puede tomar tres valores diferentes:
-moz-background-origin: border;:#elemento {
/* Webkit y mozilla no estandard */
-moz-background-origin: border;
-webkit-background-origin: border;
/* estandar */
background-origin: border-box;
}Determina si un fondo se extiende hasta los bordes o no. Puede definir los mismos valores que la propiedad anterior. El valor por defecto es border-box lo que significa el el fondo se extiende dentro de él, pero si lo fijamos padding-box no lo hará. Si lo fijamos a content-box solo se extenderá al contenido del elemento.
A esta propiedad le ocurre lo mismo con las sintaxis propietarias de mozilla y webkit:
#elemento {
/* Webkit y mozilla no estandard */
-moz-background-clip: border;
-webkit-background-clip: border;
/* estandar */
background-clip: border-box;
}Se pueden hacer cosas muy curiosas con esta propiedad, como por ejemplo cajas flotantes con bordes transparentes.
Esta es posiblemente la modificación más atractiva en lo que a fondos se refiere. Nos permite especificar fondos múltiples separados en capas usando una simple lista de fondos y propiedades separados por coma. El primer valor que aparece en la lista se corresponde a la capa más alta de la composición, el último valor a la más baja. Por lo tanto el fondo iría al final y los elementos más elevados al principio de la definición.
Esto abre la puerta a una serie de oportunidades sin límite donde podremos crear composiciones complejas sin necesidad de añadir multitud de elementos div que lo único que hacen es albergar una imagen de fondo tal y como nos veíamos obligados a hacer anteriormente. La forma de utilizar esta nueva feature es muy sencilla:
<div style="background: url("domo.png") center botom no-repeat, url("landscape.jpg") left top no-repeat; width: 100%;">Paisaje con Domo</div>Las nuevas propiedades y posibilidades que CSS3 nos ofrece con respecto a los fondos son realmente potentes y sencillas de utilizar. Os invito a experimentar con ellas y añadir vuestros resultados en los comentarios. Hasta la próxima.
Más en Genbeta Dev | Introducción a CSS3