Nessun risultato. Prova con un altro termine.
Guide
Notizie
Software
Tutorial

LESS: estendere i CSS

Link copiato negli appunti

Nei mesi scorsi abbiamo più volte segnalato diversi tentativi e proposte per rendere i CSS più simili ai linguaggi di programmazione per emularne le funzionalità  essenziali e non previste nelle specifiche. Per citare solo due casi rimando ai post Variabili e modularità  con i CSS e Variabili CSS: perché aspettare?.

Negli ultimi giorni mi sono imbattuto in questo articolo di Sitepoint dedicato a Object Oriented CSS (OOCSS) e nella presentazione su Usability Post di LESS. àˆ su questo che mi soffermo.

Si tratta nelle parole degli autori, Alexis Sellier e Dmitry Fadeyev, di un sistema in grado di estendere i CSS aggiungendo 4 nuove funzionalità : variabili, mixins, regole annidate e operazioni. Un file .less usa di fatto la stessa sintassi dei CSS, ma deve essere compilato come documento .css attraverso una Ruby gem che può essere scaricata e installata dal sito ufficiale.

Molto interessanti e intuitivi gli snippet di codice postati per far comprendere il valore delle 4 nuove funzionalità . Partiamo dalle variabili e dall'esempio classicamente associato ad esse, quello della palette dei colori da inserire all'inizio del foglio di stile. In un CSS si farebbe così:

/* CSS */
#header {
  color: #4D926F;
}
h2 {
  color: #4D926F;
}

Con LESS così:

/* LESS */
@brand_color: #4D926F;
#header {
  color: @brand_color;
}
h2 {
  color: @brand_color;
}

Interessante anche la parte relativa ai mixins. àˆ un concetto simile a quello delle variabili, ma applicato alle classi:

/* 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;
}

Ed ecco come risulta in LESS:

/* LESS */
.rounded_corners {
  -moz-border-radius: 8px;
  -webkit-border-radius: 8px;
  border-radius: 8px;
}
#header {
  .rounded_corners;
}
#footer {
  .rounded_corners;
}

Insomma, potrebbe essere o no un ottimo ausilio per la scrittura di codice CSS?

Ti consigliamo anche