Como escribir mucho menos CSS +
Por Boris Barroso
Todos sabemos el tedio que resulta cuando uno tiene que trabajar con hojas grandes de estilo en CSS, todos queremos una solución mas simple y mas estructurada, y esto es posible con la gema para ruby less, para poder instalarla deben tener rubygems y ejecutar el comando
sudo gem install less
Less nos permite transformar archivos .less a CSS y es posible realizar herencia, operaciones o tener variables, por ejempo este CSS
#header {
color: #4D926F;
}
h2 {
color: #4D926F;
}
se convierte en less en esto
@brand_color: #4D926F;
#header {
color: @brand_color;
}
h2 {
color: @brand_color;
}
O si tenemos que acceder a las largas rutas de css
#header {
color: red;
}
#header a {
font-weight: bold;
text-decoration: none;
}
se convierte en esto
#header {
color: red;
a {
font-weight: bold;
text-decoration: none;
}
}
Tambien podemos tener herencia o (mixins) como en Ruby, por ejemplo este CSS
#header {
-moz-border-radius: 8px;
-webkit-border-radius: 8px;
border-radius: 8px;
}
#footer {
-moz-border-radius: 8px;
-webkit-border-radius: 8px;
border-radius: 8px;
}
se convierte en
.rounded_corners {
-moz-border-radius: 8px;
-webkit-border-radius: 8px;
border-radius: 8px;
}
#header {
.rounded_corners;
}
#footer {
.rounded_corners;
}
Tambien se pueden realizar operaciones lo cual nos permitiria convertir este CSS
#header {
color: #333;
border-left: 1px;
border-right: 2px;
}
#footer {
color: #222;
}
en esto
@the-border: 1px;
@base-color: #111;
#header {
color: @base-color * 3;
border-left: @the-border;
border-right: @the-border * 2;
}
#footer {
color: @base-color + #111;
}
Y finalmente para que se genere el archivo de CSS lo que se hace es ejecutar el siguiente comando
lessc style.less
Para poder tener mas información visiten su sitio web http://lesscss.org/
Muy buen consejo, me gusta la forma que genera dinamicamente la css, mas deberia de integrarse mucho mas con rails.
Gracias por el post.
Carlos es muy simple, existe varios plugins que lo integra directamente con Rails. Ademas que despues de haber probado SASS, realmente prefiero less la sintaxis es casi la misma de css, es mas natural y no hay problemas en integrarlo con HAML. Te envio dos vinculos de esto y espero poder publicar un articulo pronto sobre Sinatra.
http://www.railslodge.com/plugins/1491-less-rails
http://github.com/augustl/less-for-rails/tree/master