Blog

Nov
16

¿Qué es eso de less?

Less es una nueva forma de codificar css, nosotros escribimos en lenguaje less y lo “compilamos” a css, digo lo “compilamos” porque en realidad no estamos pasando a lenguaje máquina ni nada parecido, sino que creamos un documento css perfectamente válido.

Lenguaje less

Variables

@colorCorporativo: #4D926E;
@colorCorporativoClaro: @colorCorporativo + #111;
@colorCorporativoOscuro: @colorCorporativo - #222;
@borde: 1px;

#header {
color: @colorCorporativo;
border-left: @borde;
border-right: @borde * 2;
}
h2 {
color: @colorCorporativoOscuro;
}
#footer{
background: @colorCorporativoClaro;
}

Como vemos con un simple cambio en el valor de la variable @colorCorporativo podemos cambiar los colores de la web entera. Al ser variables, podemos hacer operaciones simples con ellas: ¿Alguna vez habías sumado colores así? Yo tampoco…

Mixins (funciones)

“Pegan” un trozo de código dentro de otra clase, aceptando si queremos atributos. Mejor verlo con un ejemplo:

.esquinasRedondeadas (@radio: 5px) {
-moz-border-radius: @radio;
-webkit-border-radius: @radio;
border-radius: @radio;
}

#info {
.esquinasRedondeadas;
}
#tooltip {
.esquinasRedondeadas(10px);
}

Ojo!! cuando compilemos el código anterior, la que parecía una clase css: .esquinasRedondeadas no aparecerá si no es dentro de otra clase que la llame:

#info {
-moz-border-radius: 5px;
-webkit-border-radius: 5px;
border-radius: 5px;
}
#tooltip {
-moz-border-radius: 10px;
-webkit-border-radius: 10px;
border-radius: 10px;
}

Herencia

Podemos declarar dentro de una clase, los estilos que irán dentro de ella sin tener que repetir una y otra vez el nombre de esa clase:

#header {
color: red;
a {
font-weight: bold;
text-decoration: none;
}
}

El resultado será:

#header {
color: red;
}
#header a {
font-weight: bold;
text-decoration: none;
}

También podemos utilizar pseudo-clases como :hover, :active o :visited de la siguiente forma:

a {
  &:hover {}
  &:active {}
  &:visited {}
}

Compilando less en Mac OS X

Less.app nos soluciona la vida. Definimos la carpeta (o carpetas en nuestro disco duro) dónde vamos a guardar los archivos .less y la carpeta dónde queremos que se guarden los .css generados ¡Ya está! cada vez que modifiquemos un archivo .less de esa carpeta, Less.app se encargará de compilarlo y dejarnos un css listo para usar, simpre que no haya errores de compilación claro…

¡Comenta!