Uninstallme

La Web se ideó cuadrada.

LESS: variables y operaciones en CSS

9 de Febrero 2010

LESS es una extensión de CSS escrita en Ruby que permite utilizar variables, operaciones, reglas anidadas y mezclas con paso de parámetros que se comportan como funciones.

De todas sus posibilidades, las dos que me resultan más interesantes y que voy a comentar son el uso de variables y las operaciones.

Instalación de LESS

En Mac OS X, que ya tiene instalado ruby y ruby-gems, es tan sencillo como escribir esta línea en la consola:


$ sudo gem install less

En Windows y Linux hay que instalar primero ruby y ruby-gems.

Una vez instalado podemos utilizar LESS escribiendo nuestro CSS en un archivo .less tal y como lo haríamos con un archivo .css, con la diferencia de que es necesario compilarlo.

Compilación de LESS

Para compilar un archivo .less escribimos lo siguiente en la consola:


lessc style.less style.css

Si no se especifica el archivo de destino, se creará uno con el mismo nombre pero con la extensión .css. Es decir, la siguiente línea generaría un archivo style.css


lessc style.less

Compilación automática

Afortunadamente, no es necesario compilar el archivo manualmente cada vez que hacemos cambios, ya que es posible detectar los cambios en el archivo .less y compilar automáticamente. Para hacer esto utilizamos la instrucción –watch sobre el archivo que queremos compilar:


lessc style.less --watch

Uso de variables y operaciones

Sobre las ventajas del uso de variables en CSS sobran las explicaciones. A todos nos gustaría poder definir unas variables para colores de enlaces, texto, encabezados, fondos, etc. y poder usarlas cuando sea necesario sin tener que rebuscarlas en la CSS. También a la hora de hacer un cambio global resulta mucho más cómodo cambiar solamente el valor de una variable que todas las coincidencias. (Sí, conozco el buscar y reemplazar).

Para mí, el uso de variables no es su punto más fuerte, ya que se pueden usar varibles en CSS mediante PHP u otro lenguaje o incluso creando atajos de teclado personalizados en tu editor de texto, de manera que cada vez que tecleas, por ejemplo, colorLink seguido de tabulador, se escribe un color hexadecimal definido previamente. Esta última opción se puede usar con Coda (Mac).

Lo que más me ha gustado de LESS es la posibilidad de realizar operaciones, algo que ahorra bastante trabajo cuando se utilizan diseños elásticos.

Operaciones CSS en diseños elásticos

En los diseños elásticos, una unidad es relativa al elemento al que se refiere. Por ejemplo, si tenemos un encabezado de 20px de tamaño de fuente, con un margen inferior de 7px, esos 7px deben calcularse respecto a los 20 del encabezado, de manera que tenemos que hacer una división (7 / 20).


h2{font-size: 2em; margin-bottom: .35em;}

Con LESS podemos escribir esta división en la CSS.


h2{font-size: 2em; margin-bottom: 7 / 20em;}

Se añade el em al 20 para conservar la unidad de medida. De otra forma el resultado sería 0.35 en vez de 0.35em;

Además de ahorrarnos la operación, ya sea mediante calculadora o cabeza (siempre supone un esfuerzo), podemos ver inmediatamente qué unidad en píxeles estamos manejando en cada momento, es decir, nos ahorramos la multiplicación correspondiente o la ojeada al Firebug.

Inconvenientes de LESS

Agrupación de selectores

Si escribimos algo como h2 a, h3 a, h4 a{font-weight: normal;} el resultado al compilar es
h2 a{font-weight: normal;}
h3 a{font-weight: normal;}
h4 a{font-weight: normal;}

Saltos de línea

Al compilar, cada declaración se escribe en una línea dando lugar a archivos más pesados.

Transformación de colores en formato hexadecimal a palabras clave.

#fff se convierte en white.

Estos inconvenientes se pueden solucionar con la ayuda de alguna herramienta de compresión como Clean CSS, que permite agrupar selectores, eliminar saltos de línea, utilizar las formas cortas de códigos de color, etc.

Otra herramienta útil es MinifyMe, una aplicación en Adobe AIR que se limita a eliminar comentarios y dejar todo el código en una sola línea. También sirve para comprimir Javascript.

Más información sobre uso e instalación en la documentación oficial de LESS

Archivado en CSS, Utilidades

Comentar

Reseteado de margin y padding en CSS: un término medio

31 de Diciembre 2009

Aprovechando las vacaciones estoy preparando un nuevo diseño para este blog (que en algún momento estará listo) y de paso he recuestionado algunas de mis prácticas de CSS. Le ha tocado al método para establecer en 0 el margen y relleno de todos los elementos.
Son muchos los que apuestan por el método utilizado en la [...]

Archivado en CSS, Personal

Comentar

Lazy Load de imágenes con Mootools

30 de Diciembre 2009

La técnica “Lazy Load” consiste en detener la carga inicial de imágenes u otros elementos hasta que están en el área visible de la pantalla, momento en que se cargan con un efecto fade in (aparición suave).
Es ideal para páginas con galerías lineales de imágenes, en las que la carga de imágenes a petición (al [...]

Archivado en Javascript, Utilidades

Comentar

Detectar suavizado de fuentes con javascript

6 de Diciembre 2009

En User Agent Man han publicado un script para detectar el suavizado de fuentes en el navegador. Si el suavizado de fuentes está activado, se añade una clase al elemento html que permite usar unas u otras fuentes en la CSS dependiendo de esta característica.
Este script es especialmente útil para utilizar fuentes embebidas mediante @font-face, [...]

Archivado en Buenas ideas, CSS, Javascript

3 Comentarios

MySQL por línea de comandos en Mac

17 de Noviembre 2009

Hace un tiempo publicaba un método para poder utilizar comandos SQL desde la consola de Windows, que consiste en añadir el directorio de MySQL a las variables de entorno del sistema.
En Mac se puede conseguir escribiendo lo siguiente en la consola:

Machine:~ user$ sudo su
Password: (tu contraseña…)
sh-3.2# echo ‘/usr/local/mysql/bin’ >> /etc/paths.d/mysql
sh-3.2#
exit

La primera vez que hice esto [...]

Archivado en Cajón de sastre, Mac

Comentar

Suavizado de imágenes redimensionadas con CSS en Internet Explorer

5 de Noviembre 2009

Cuando forzamos el tamaño de una imagen mediante CSS reduciendo su ancho o alto original, nos encontramos con que Internet Explorer hace cosas feas. A falta de palabras para describirlo, nada mejor que una captura:
En el blog de ZURB, que por cierto, me encanta, nos muestran un pequeño truco para suavizar las imágenes en Internet [...]

Archivado en Buenas ideas, CSS, Navegadores

2 Comentarios

Max-width para Internet Explorer 6 sólo con CSS

21 de Octubre 2009

En CSSPlay han publicado un método basado sólo en CSS válido, para emular el funcionamiento de la propiedad max-width de CSS en Internet Explorer 6.
Esta propiedad es útil para fijar un ancho máximo de página (bloque contenedor) en diseños fluidos, evitando que los bloques de texto sean demasiado largos y dificulten su lectura.
La solución quizá [...]

Archivado en Buenas ideas, CSS

5 Comentarios

Acceso a un virtual host en Mac desde Windows con Parallels

6 de Septiembre 2009

Parallels es el mejor sistema de virtualización de los que he probado hasta ahora, que la verdad, tampoco han sido muchos: Virtual Box y Virtual PC de Microsoft.
Gracias al “modo coherencia” de Parallels, para abrir un archivo que tengamos en Mac en una aplicación de Windows, basta con arrastrar y soltar. Así de sencillo.
Ahora bien, [...]

Archivado en Mac

Comentar

Ejemplo de Javascript Multiidioma

1 de Septiembre 2009

Cuando tenemos un sitio en varios idiomas en el que estamos añadiendo atributos como ALT o TITLE a imágenes o enlaces, lo ideal es proporcionar esos literales en todos los idiomas del sitio y usar los correspondientes al idioma según el valor del atributo xml:lang o lang de la etiqueta HTML.
Para estos casos es útil [...]

Archivado en Javascript

1 Comentario

Cuidadín con pulvillarrac@gmail.com

31 de Agosto 2009

Un pequeño aviso para los que usan WordPress: si se os registra un usuario con email pulvillarrac@gmail.com, borradlo inmediatamente.
También recomiendan cambiar todas las contraseñas de los usuarios administradores. Yo además he deshabilitado el registro de usuarios. (Administración > Opciones > General > Desmarcar “cualquiera puede registrarse”)
No sé que puede llegar a hacer este usuario, pero [...]

Archivado en Wordpress

4 Comentarios

Página 1 de 1212345»...Última »