http://www.veneblogs.com

Usando CSS Shorthand Parte 1

He estado leyendo el libro Speed Up Your Site, el cual, como su título implica, trata sobre
optimización de websites. Hasta ahora ha sido una lectura muy interesante, ya llevo un poco menos de la mitad y me tope con un capítulo donde tratan sobre diferentes técnicas de optimización de CSS, entre ellas el CSS Shorthand.

Hay muchas técnicas, pero unas bien sencillas de implementar son las propiedades “shorthand”
(no tengo ni idea como traducir eso), en fin, basicamente se trata de una declaración abreviada.
La cual reduce en algunos bytes tu hoja de estilos, además de lucir un poco mas interesante.

Las propiedades que soportan shorthand son:

  • font
  • background
  • margin
  • padding
  • border
  • list-style

Veamos la definición de cada con su ejemplo respectivo:



font

Para usar shorthand debes definir la propiedad font de la siguiente forma
{font: weight style variant size/line-height font-name inherit}

Siempre se deben especificar en cualquier orden, pero son requeridos size y font-name en ese orden, todos los atributos deben separados por espacios en blanco. Veamos un ejemplo:

h1{

font-style: italic;

font-weight: bold;

font-size: 2em;

font-family: georgia, times, serif;

}

Luego de aplicar shorthand quedaria reducido a:

h1{ font: bold italic 2em georgia, times, serif; }

background

Para usar shorthand debes definir la propiedad background de la siguiente forma
{background: color image repeat attachment position inherit}

Pueden estar en cualquier orden y todos los atributos deben separados por espacios en blanco. Veamos un ejemplo:

div.header{

background-image: url(images/oranges.gif);

background-repeat: no-repeat;

background-color: dark-orange;

background-attachment: fixed;

background-position: top left;

}

Luego de aplicar shorthand quedaría reducido a:

div.header{ background: dark-orange url(images/oranges.gif) no-repeat fixed top left;}

margin, padding

Para usar shorthand debes definir las propiedades margin como padding de la siguiente manera
{margin: top right bottom left} o {padding: top right bottom left}

En este caso el orden debe respetarse, todos los atributos deben separados por espacios en blanco. Debe especificar al menos uno de los par´metros. Veamos un ejemplo, es válido tambien para padding:

div.content{

margin-top: 5px;

margin-bottom: 10px;

margin-left: 20px;

margin-right: 15px;

}

Luego de aplicar shorthand quedaría reducido a:

div.content{ margin: 5px 15px 10px 20px;}

Mañana continuamos con las propiedades faltantes, border y list-style, y otros trucos más, no se pierdan la continuación del post.

22 comentarios

Feed para los coemntarios de este artículo

Trackback de Denken �ber - Week-log

Trackback de minid.net - Optimizando CSS

Deber�as de comentar tambi�n que una t�cnica �til para escribir m�rgenes y padding en CSS es recordando el orden de las manecillas del reloj: 12-3-6-9, correspondientes a los valores top, left, bottom, right. Asi escribir valores como

padding: 0 20px 0 20px;

se hace muy f�cil, adem�s que te ahorras c�digo y lo sacas m�s r�pido.

si, pero es top, right, bottom, left

Precisamente ayer estuve leyendo ese mismo libro en una biblioteca. Hay cosas que me decepcionaron, como el “truco” de no cerrar etiquetas HTML (por ejemplo, tr).

ta gueno ta gueno, yo trato de aplicarlo peor dejame empezar por entender un co�azo de atributos de css jejej

Roberto: Si tienes razon, son tecnicas/trucos que aplican mas HTML, pero claro, esto implicaria hacer documentos no estandares.

Tal cual como el menciona, XHTML, es un poco mas dificil de optimizar. Ahora el libro esta lleno de tecnicas/trucos buenos, los primeros capitulos no estan tan vigentes, son mas 2000-2001.

Saludos !

Excelente, muy buen mini-tutorial gracias por compartir.

Gran post, si se�or! Libro recomendable leer si se�or!

Gracias por compartir

Interesante, �y que de la compatibilidad con Browsers existentes?�Cuales lo soportan?

Por otro lado �cual es el “truco” al no cerrar lo tr? �qu� se gana?

Aca tienes un grafico con el soporte a cada uno de los features. En realidad hay que evitar usar shorthand con las versiones viejas de los navegadores, con los nuevos todo bien.

Ahora, si ese es el truco, no cerrar los td, ni los tr, ni los li. Esto es solo valido para HTML, cero estandares. Si se gana recuerda que antes todos los websites era hechos en base a tablas. Byte a byte para un site que recibe miles de visitas puede significar en un ahorro considerable de bandwidth.

Thanks a lot!!!

egg:
se ganan caracteres (bytes) al no cerrar ciertas etiquetas. En el caso de tr se ganar�an 5 “”.

Esta muy bien, incluso se puede optimizar mas (en la declaracion CSS) cuando los valores del margen o del padding son iguales dos a dos, como en el ejemplo que puso beto:

padding: 0 20px 0 20px;

ser�a lo mismo que:

padding: 0 20px;

cuando es asi, los valores se aplican a los pares top-bottom, right-left.

Voy a leer ahora la segunda parte, a ver que tal

Excelente ejemplo xoan

Ok, entendi lo del “ahorro” al no cerrar los tags.

Claro que con XHTML no aplica.

Gracias

Excelente post. Usualmente programo mi hojas de estilo usando estos atajos. Gracias por la explicaci�n.

Nice Article..

Yo solo a�adir que si quer�is aprender CSS pasaros por p�ginas en ingles y si quer�is cumplir est�ndares, aprended de: http://www.w3.org. Yo no sab�a que eso eran atajos escritura puesto que es como aprend�. Para mi lo de escribir lo largo es cuando no voy a definir mas que una propiedad. Visitad la web que os he puesto y ver�is lo que se aprende.

Y ante la opci�n de no cerrar etiquetas, no me parece correcto puesto que no cumplir�a est�ndares y te arriesgas a que en otros exploradores no se vea. Las p�ginas que hac�is las prob�is en IE5.0 IE5.5, IE6.0, en FireFox o en todos ellos. Espero que sea en la mayor�a puesto que cada uno de los 4 que os he puesto interpreta el CSS de una manera.

el mensajero final

podrias ayudarme con lo de poner imagenes en los encabezados????