SlideShare una empresa de Scribd logo
1 de 110
Mai più CSS
fogli di stile moderni con
            LESS

        #odioicss
         @romeosalv
Chi sono
         Salvatore Romeo
Founder + Front-End Engineer presso
Domande



                        ?
Interrompete in qualsiasi momento
Inviate un tweet con l’hashtag #odioicss
Di cosa parleremo
Quanto tempo si perde con i CSS

LESS: la soluzione
Diventare esperto in 15 minuti   Impariamo il linguaggio LESS
Esempio pratico

Ambiente di sviluppo
Compilare LESS in CSS            L’ambiente di lavoro
Ambiente di debug

Alternative a LESS: SASS
Warning: odierete i CSS
La cosa che uno sviluppatore odia di più:


                Copia/Incolla
              Trova/Sostituisci
Se imparate LESS non vorrete più tornare indietro.
Warning: odierete i CSS


    Effetto collaterale
Odierete i CSS a tal punto che se ve ne passano uno lo
                 riscriverete in LESS.
Esperti di LESS in 15
        minuti
Esperti di LESS in 15
          minuti
CSS = LESS
   stessa sintassi, stessa semantica
Esperti di LESS in 15
           minuti
CSS = LESS
    stessa sintassi, stessa semantica

LESS = CSS + estensioni
Esperti di LESS in 15
             minuti
CSS = LESS
      stessa sintassi, stessa semantica

LESS = CSS + estensioni
Le estensioni LESS:
   • Variabili
   • Mixin
   • Regole annidate (Nested Rules)
   • Operazioni
   • Funzioni
   • Import
LESS: un CSS pre-
         processor
LESS è un CSS pre-processor




      LESS                    CSS
                              (minified)
LESS: un CSS pre-
          processor
LESS è un CSS pre-processor




      LESS                            CSS
                                       (minified)




Introdurremo LESS partendo da ciò che è noioso (RDP) con
Variabili
            Mixin
                    Regole annidate
                                  Operazioni
                                           Funzioni
                                                   Import
RDP#1: Trova&Sostituisci
RDP#1: Trova&Sostituisci
RDP#1: Trova&Sostituisci
RDP#1: Trova&Sostituisci
RDP#1: Trova&Sostituisci
RDP#1: Trova&Sostituisci
    COLORE-PRINCIPALE: blue
RDP#1: Trova&Sostituisci
    COLORE-PRINCIPALE: blue
RDP#1: Trova&Sostituisci
    COLORE-PRINCIPALE: blue
                 COLORE-PRINCIPALE;




                 COLORE-PRINCIPALE;




                 COLORE-PRINCIPALE;
RDP#1: Trova&Sostituisci
RDP#1: Trova&Sostituisci
RDP#1: Trova&Sostituisci
RDP#1: Trova&Sostituisci
Variabili
• Per specificare i parametri in un unico punto del file
• Per cambiare il valore di un parametro agendo su una
  sola riga di codice
• Si definiscono facendo precedere il simbolo @ al nome
• Funzionano con:
   o i colori: @var1: #FF0000; @c2: rgb(100, 100, 70); ...
   o le dimensioni: @size1: 200px; @size2: 1em; ...
   o le stringhe: @string1: ‘‘LESS è fantastico’’;
Variabili
            Mixin
                    Regole annidate
                                  Operazioni
                                           Funzioni
                                                   Import
RDP#2: Copia&Incolla
RDP#2: Copia&Incolla
RDP#2: Copia&Incolla
RDP#2: Copia&Incolla
RDP#2: Copia&Incolla
RDP#2: Copia&Incolla
RDP#2: Copia&Incolla
Mixin
• Per definire un gruppo di proprietà e riutilizzarle in
  seguito
• I mixin parametrici sono funzioni per specializzare un
  mixin
• Si definiscono come una classe
• Per i parametri la sintassi è:
       .class (@param1: value, @param2: value) {...}

   dove i parametri funzionano come variabili.
• Esempi:
      .rounded-corners (@radius: 5px){ … }
Variabili
            Mixin
                    Regole annidate
                                  Operazioni
                                           Funzioni
                                                   Import
RDP#3: disordine
RDP#3: disordine
RDP#3: disordine
RDP#3: disordine
RDP#3: disordine
RDP#3: disordine
RDP#3: disordine
Regole annidate (nested rules)
• Permettono di definire regole di ereditarietà tra gli
  elementi
• C’è una corrispondenza diretta tra l’annidamento nel file
  HTML e l’annidamento nel file LESS
• La sintassi:
      .element1{
              .element2{
              }
              &:active{ ... }
      }
Variabili
            Mixin
                    Regole annidate
                                  Operazioni
                                           Funzioni
                                                   Import
RDP#4: matematica
RDP#4: matematica
RDP#4: matematica
Operazioni
• Permettono di definire valori tramite operatori matematici
• Si possono applicare sui valori
   o di dimensione (100px * 3, @size + 10px, ...)
   o di colore (#842210 + @color1, #333 + #555, #111 * 3)
• Si possono usare le parentesi:
       (@size * 0.5) + 10px
• Possibili usi:
   o Definizione di parametri all’inizio
   o Temi
Variabili
            Mixin
                    Regole annidate
                                  Operazioni
                                           Funzioni
                                                   Import
RDP#5: color picker
RDP#5: color picker
RDP#5: color picker
Funzioni
•   Permettono di modificare in maniera intuitiva colori

Creazione di colori:
hsla(@hue, @saturation, @lightness, @alpha) hsl
hsva(@hue, @saturation, @value, @alpha) hsv

Filtri su un canale:
hue(@color) saturation(@color) lightness(@color)
red(@color) green(@color) blue(@color)
alpha(@color)

Operazioni sui colori:
saturate desaturate lighten darken
fadein fadeout fade
mix greyscale
multiply screen overlay softlight hardlight difference average
RDP#5: color picker
Funzioni
• Permettono di modificare in maniera intuitiva valori

ceil(@number)
floor(@number)
round(@number)

percentage(@number)

unit(@dimension, [@unit: ""])

color(@string)
Variabili
            Mixin
                    Regole annidate
                                  Operazioni
                                           Funzioni
                                                   Import
RDP#6: tutto nello stesso
           file
@import url (“style.css");

L’import nei file CSS ha un problema:
      Occorre un’ulteriore richiesta al server
RDP#6: tutto nello stesso
           file
@import url (“style.css");

L’import nei file CSS ha un problema:
      Occorre un’ulteriore richiesta al server

Import in LESS:
• Non sono necessarie ulteriori richieste
• Sintassi: @import "lib.less";
• Per importare un file senza includerlo, si usa l’istruzione
       @import-once "lib.less";
Variabili
            Mixin
                    Regole annidate
                                  Operazioni
                                           Funzioni
                                                   Import

                           BONUS
Bonus: LESS Media
     Queries
Bonus: LESS Media
     Queries
Tutto qui
Variabili
            Mixin
                    Regole annidate
                                  Operazioni
                                           Funzioni
                                                   Import


Ulteriori approfondimenti sono disponibili sul sito web
ufficiale:


 http://lesscss.org
Esempi
Un esempio: dry con i
       mixin
Un esempio: nested rules
Un esempio: variabili
Un esempio: funzioni
Un esempio: ombre
Un esempio: glow
Un esempio: gradienti
Un esempio: rounded
      corners
Un esempio: testo
Un esempio:
trasformazioni
Un esempio: animazioni
Definire una color palette
Definire una color palette
Definire una color palette
Un esempio completo



     by Joshua Johnson
     http://goo.gl/03tl3
Ambiente
 di lavoro
Ambiente di sviluppo
Raccomandazione:
                 Eclipse + LESS plugin
 (http://www.eclipse.org/downloads/ + http://goo.gl/jler4)
Ambiente di sviluppo
Raccomandazione:
                 Eclipse + LESS plugin
 (http://www.eclipse.org/downloads/ + http://goo.gl/jler4)




                            Colorazione sintassi
Ambiente di sviluppo
Raccomandazione:
                 Eclipse + LESS plugin
 (http://www.eclipse.org/downloads/ + http://goo.gl/jler4)




                             Navigazione struttura
Ambiente di sviluppo
Raccomandazione:
                 Eclipse + LESS plugin
 (http://www.eclipse.org/downloads/ + http://goo.gl/jler4)




                                     Auto-
                                 completamento
Ambiente di sviluppo
Raccomandazione:
                 Eclipse + LESS plugin
 (http://www.eclipse.org/downloads/ + http://goo.gl/jler4)




                                 Evidenziazione
                                     errori
                                   e warning
Ambiente di sviluppo
Raccomandazione:
                 Eclipse + LESS plugin
 (http://www.eclipse.org/downloads/ + http://goo.gl/jler4)




                                      Link alle
                                   definizioni di
                                  variabili e mixin
Compilare LESS in CSS
1)Lato client con less.js:
Compilare LESS in CSS
1)Lato client con less.js:



Pro:
• Veloce per iniziare
Contro:
• Far scaricare al client un file in più
• Compilazione del file in .css prima di renderizzare la
  pagina
Compilare LESS in CSS
1)Lato client con less.js:



Pro:
• Veloce per iniziare
Contro:
• Far scaricare al client un file in più
• Compilazione del file in .css prima di renderizzare la
  pagina
Compilare LESS in CSS
2) In automatico premendo
   SAVE:
  LESS       CSS
            (minified)
Compilare LESS in CSS
2) In automatico premendo
   SAVE:
  LESS       CSS         http://wearekiss.com/simpless
            (minified)
Compilare LESS in CSS
2) In automatico premendo
   SAVE:
     LESS                 CSS            http://wearekiss.com/simpless
                         (minified)




Pro:
• Non vi dovete preoccupare di niente
• Esiste l’opzione per la minification
Contro:
Compilare LESS in CSS
3) Server side:
Compilare LESS in CSS
3) Server side:


Pro:
• Potete definire i file .less dinamicamente (es. per temi)
• Potete fornire ad ogni client un file css personalizzato
Contro:
• Occorre importare una libreria nel vostro sistema
• Overhead se non viene implementato un meccanismo di
  cache
Ambiente di debug
Ambiente di debug
Ambiente di debug
Ambiente di debug
Ambiente di debug




http://goo.gl/rJHWq
Alternative
Alternative a LESS
Sass, Stylus, Turbine, Switch CSS, CSS
 Cacheer, CSS Preprocessor, DT CSS,
                CSS PP
Alternative a LESS
Sass, Stylus, Turbine, Switch CSS, CSS
 Cacheer, CSS Preprocessor, DT CSS,
                CSS PP


 Sembra che ognuno si
 stia facendo il suo pre-
        processor!
LA valida alternativa a
        LESS
Sass
• La sintassi è simile a LESS:
  Si usa il $ al posto della @ per definire le variabili

                   $var anziché @var
Sass
• La sintassi è simile a LESS:
  Si usa il $ al posto della @ per definire le variabili

              $var anziché @var
• Per definire i mixin si antepone
  @mixin:
         @mixin .shadow { ... }
• Per usarli si antepone @include:
     .class{ @include .shadow; }
Sass
• La sintassi è simile a LESS:
  Si usa il $ al posto della @ per definire le variabili

              $var anziché @var
• Per definire i mixin si antepone
  @mixin:
         @mixin .shadow { ... }
• Per usarli si antepone @include:
     .class{ @include .shadow; }
Sass
Perchè preferire Sass a Less?
Sass
Perchè preferire Sass a Less?


 @extend
Sass
Perchè preferire Sass a Less?


 @extend

        http://compass-style.org/
Vendor prefixes
Vendor prefixes
Do Repeat Yourself
Vendor prefixes
Do Repeat Yourself
   CSS sucks
Codice manutenibile
Codice manutenibile
Don’t Repat yourself
Codice manutenibile
Don’t Repat yourself
 I’m a developer
     I ❤ LESS
Mai più CSS
 fogli di stile moderni con LESS




Grazie!
       #odioicss
        @romeosalv

Más contenido relacionado

La actualidad más candente

Guida introduttiva al css
Guida introduttiva al cssGuida introduttiva al css
Guida introduttiva al cssEnrico Mainero
 
HTMLslide html
HTMLslide htmlHTMLslide html
HTMLslide htmlritalerede
 
Html e CSS ipertesti e siti web 4.5
Html e CSS   ipertesti e siti web 4.5Html e CSS   ipertesti e siti web 4.5
Html e CSS ipertesti e siti web 4.5orestJump
 
CSS corso base (classi seconde, mod 1)
CSS corso base (classi seconde, mod 1)CSS corso base (classi seconde, mod 1)
CSS corso base (classi seconde, mod 1)Matteo Ziviani
 
Introduction to HTML
Introduction to HTMLIntroduction to HTML
Introduction to HTMLRoberto Dadda
 
Guida introduttiva al codice HTML
Guida introduttiva al codice HTMLGuida introduttiva al codice HTML
Guida introduttiva al codice HTMLEnrico Mainero
 
Open web programming
Open web programmingOpen web programming
Open web programmingnois3lab
 
Ancora anatomia, le pagine HTML(5)
Ancora anatomia, le pagine HTML(5)Ancora anatomia, le pagine HTML(5)
Ancora anatomia, le pagine HTML(5)nois3lab
 
Html5 - classi prime - multimedia
Html5 - classi prime - multimediaHtml5 - classi prime - multimedia
Html5 - classi prime - multimediaMatteo Ziviani
 
Html base - classi prime - multimedia
Html base - classi prime - multimediaHtml base - classi prime - multimedia
Html base - classi prime - multimediaMatteo Ziviani
 
Guida pratica-html-e-css
Guida pratica-html-e-cssGuida pratica-html-e-css
Guida pratica-html-e-cssnickyes
 
HTML e CSS Prima Lezione
HTML e CSS Prima LezioneHTML e CSS Prima Lezione
HTML e CSS Prima LezioneIvan Buccella
 
Best practices per lo sviluppo Frontend
Best practices per lo sviluppo FrontendBest practices per lo sviluppo Frontend
Best practices per lo sviluppo FrontendCristiano Rastelli
 

La actualidad más candente (19)

Guida introduttiva al css
Guida introduttiva al cssGuida introduttiva al css
Guida introduttiva al css
 
HTMLslide html
HTMLslide htmlHTMLslide html
HTMLslide html
 
Html e CSS ipertesti e siti web 4.5
Html e CSS   ipertesti e siti web 4.5Html e CSS   ipertesti e siti web 4.5
Html e CSS ipertesti e siti web 4.5
 
CSS corso base (classi seconde, mod 1)
CSS corso base (classi seconde, mod 1)CSS corso base (classi seconde, mod 1)
CSS corso base (classi seconde, mod 1)
 
Introduction to HTML
Introduction to HTMLIntroduction to HTML
Introduction to HTML
 
Html
HtmlHtml
Html
 
Introduzione al CSS
Introduzione al CSSIntroduzione al CSS
Introduzione al CSS
 
Guida introduttiva al codice HTML
Guida introduttiva al codice HTMLGuida introduttiva al codice HTML
Guida introduttiva al codice HTML
 
Html Base
Html BaseHtml Base
Html Base
 
Lezione HTML
Lezione HTMLLezione HTML
Lezione HTML
 
Open web programming
Open web programmingOpen web programming
Open web programming
 
Ancora anatomia, le pagine HTML(5)
Ancora anatomia, le pagine HTML(5)Ancora anatomia, le pagine HTML(5)
Ancora anatomia, le pagine HTML(5)
 
Html5 - classi prime - multimedia
Html5 - classi prime - multimediaHtml5 - classi prime - multimedia
Html5 - classi prime - multimedia
 
Html base - classi prime - multimedia
Html base - classi prime - multimediaHtml base - classi prime - multimedia
Html base - classi prime - multimedia
 
Guida pratica-html-e-css
Guida pratica-html-e-cssGuida pratica-html-e-css
Guida pratica-html-e-css
 
Dal Click Al Web Server
Dal Click Al Web ServerDal Click Al Web Server
Dal Click Al Web Server
 
HTML e CSS Prima Lezione
HTML e CSS Prima LezioneHTML e CSS Prima Lezione
HTML e CSS Prima Lezione
 
Html TAGS 2
Html TAGS 2Html TAGS 2
Html TAGS 2
 
Best practices per lo sviluppo Frontend
Best practices per lo sviluppo FrontendBest practices per lo sviluppo Frontend
Best practices per lo sviluppo Frontend
 

Destacado

Html e Css - 4 | WebMaster & WebDesigner
Html e Css - 4 | WebMaster & WebDesignerHtml e Css - 4 | WebMaster & WebDesigner
Html e Css - 4 | WebMaster & WebDesignerMatteo Magni
 
Html e Css - 1 | WebMaster & WebDesigner
Html e Css - 1 | WebMaster & WebDesigner Html e Css - 1 | WebMaster & WebDesigner
Html e Css - 1 | WebMaster & WebDesigner Matteo Magni
 
Html e Css - 2 | WebMaster & WebDesigner
Html e Css - 2 | WebMaster & WebDesignerHtml e Css - 2 | WebMaster & WebDesigner
Html e Css - 2 | WebMaster & WebDesignerMatteo Magni
 
Wireframe e struttura del sito internet
Wireframe e struttura del sito internetWireframe e struttura del sito internet
Wireframe e struttura del sito internetDaniele Moraschi
 
Storia ed Architettura di Internet e del web
Storia ed Architettura di Internet e del webStoria ed Architettura di Internet e del web
Storia ed Architettura di Internet e del webvfailla
 
HTML5 e Css3 - 5 | WebMaster & WebDesigner
HTML5 e Css3 - 5 | WebMaster & WebDesignerHTML5 e Css3 - 5 | WebMaster & WebDesigner
HTML5 e Css3 - 5 | WebMaster & WebDesignerMatteo Magni
 
HTML5 e Css3 - 2 | WebMaster & WebDesigner
HTML5 e Css3 - 2 | WebMaster & WebDesignerHTML5 e Css3 - 2 | WebMaster & WebDesigner
HTML5 e Css3 - 2 | WebMaster & WebDesignerMatteo Magni
 
HTML5 e Css3 - 3 | WebMaster & WebDesigner
HTML5 e Css3 - 3 | WebMaster & WebDesignerHTML5 e Css3 - 3 | WebMaster & WebDesigner
HTML5 e Css3 - 3 | WebMaster & WebDesignerMatteo Magni
 
HTML5 e Css3 - 6 | WebMaster & WebDesigner
HTML5 e Css3 - 6 | WebMaster & WebDesignerHTML5 e Css3 - 6 | WebMaster & WebDesigner
HTML5 e Css3 - 6 | WebMaster & WebDesignerMatteo Magni
 
HTML5 e Css3 - 7 | WebMaster & WebDesigner
HTML5 e Css3 - 7 | WebMaster & WebDesignerHTML5 e Css3 - 7 | WebMaster & WebDesigner
HTML5 e Css3 - 7 | WebMaster & WebDesignerMatteo Magni
 
HTML5 e Css3 - 3 | WebMaster & WebDesigner
HTML5 e Css3 - 3 | WebMaster & WebDesignerHTML5 e Css3 - 3 | WebMaster & WebDesigner
HTML5 e Css3 - 3 | WebMaster & WebDesignerMatteo Magni
 
HTML5 e Css3 - 1 | WebMaster & WebDesigner
HTML5 e Css3 - 1 | WebMaster & WebDesignerHTML5 e Css3 - 1 | WebMaster & WebDesigner
HTML5 e Css3 - 1 | WebMaster & WebDesignerMatteo Magni
 
HTML5 e Css3 - 1 | WebMaster & WebDesigner
HTML5 e Css3 - 1 | WebMaster & WebDesigner HTML5 e Css3 - 1 | WebMaster & WebDesigner
HTML5 e Css3 - 1 | WebMaster & WebDesigner Matteo Magni
 
HTML5 e Css3 - 4 | WebMaster & WebDesigner
HTML5 e Css3 - 4 | WebMaster & WebDesignerHTML5 e Css3 - 4 | WebMaster & WebDesigner
HTML5 e Css3 - 4 | WebMaster & WebDesignerMatteo Magni
 
HTML5, CSS3 e JavaScript: Web app per tutti gli schermi by Marco Casario
HTML5, CSS3 e JavaScript: Web app per tutti gli schermi by Marco CasarioHTML5, CSS3 e JavaScript: Web app per tutti gli schermi by Marco Casario
HTML5, CSS3 e JavaScript: Web app per tutti gli schermi by Marco CasarioCodemotion
 
Html e Css - 3 | WebMaster & WebDesigner
Html e Css - 3 | WebMaster & WebDesignerHtml e Css - 3 | WebMaster & WebDesigner
Html e Css - 3 | WebMaster & WebDesignerMatteo Magni
 
Scalable JavaScript Design Patterns
Scalable JavaScript Design PatternsScalable JavaScript Design Patterns
Scalable JavaScript Design PatternsAddy Osmani
 

Destacado (20)

Guida a less
Guida a lessGuida a less
Guida a less
 
Fogli di stile CSS
Fogli di stile CSSFogli di stile CSS
Fogli di stile CSS
 
Html e Css - 4 | WebMaster & WebDesigner
Html e Css - 4 | WebMaster & WebDesignerHtml e Css - 4 | WebMaster & WebDesigner
Html e Css - 4 | WebMaster & WebDesigner
 
Html e Css - 1 | WebMaster & WebDesigner
Html e Css - 1 | WebMaster & WebDesigner Html e Css - 1 | WebMaster & WebDesigner
Html e Css - 1 | WebMaster & WebDesigner
 
Html e Css - 2 | WebMaster & WebDesigner
Html e Css - 2 | WebMaster & WebDesignerHtml e Css - 2 | WebMaster & WebDesigner
Html e Css - 2 | WebMaster & WebDesigner
 
Wireframe e struttura del sito internet
Wireframe e struttura del sito internetWireframe e struttura del sito internet
Wireframe e struttura del sito internet
 
Storia ed Architettura di Internet e del web
Storia ed Architettura di Internet e del webStoria ed Architettura di Internet e del web
Storia ed Architettura di Internet e del web
 
HTML5 e Css3 - 5 | WebMaster & WebDesigner
HTML5 e Css3 - 5 | WebMaster & WebDesignerHTML5 e Css3 - 5 | WebMaster & WebDesigner
HTML5 e Css3 - 5 | WebMaster & WebDesigner
 
HTML5 e Css3 - 2 | WebMaster & WebDesigner
HTML5 e Css3 - 2 | WebMaster & WebDesignerHTML5 e Css3 - 2 | WebMaster & WebDesigner
HTML5 e Css3 - 2 | WebMaster & WebDesigner
 
HTML5 e Css3 - 3 | WebMaster & WebDesigner
HTML5 e Css3 - 3 | WebMaster & WebDesignerHTML5 e Css3 - 3 | WebMaster & WebDesigner
HTML5 e Css3 - 3 | WebMaster & WebDesigner
 
HTML5 e Css3 - 6 | WebMaster & WebDesigner
HTML5 e Css3 - 6 | WebMaster & WebDesignerHTML5 e Css3 - 6 | WebMaster & WebDesigner
HTML5 e Css3 - 6 | WebMaster & WebDesigner
 
HTML5 e Css3 - 7 | WebMaster & WebDesigner
HTML5 e Css3 - 7 | WebMaster & WebDesignerHTML5 e Css3 - 7 | WebMaster & WebDesigner
HTML5 e Css3 - 7 | WebMaster & WebDesigner
 
HTML5 e Css3 - 3 | WebMaster & WebDesigner
HTML5 e Css3 - 3 | WebMaster & WebDesignerHTML5 e Css3 - 3 | WebMaster & WebDesigner
HTML5 e Css3 - 3 | WebMaster & WebDesigner
 
HTML5 e Css3 - 1 | WebMaster & WebDesigner
HTML5 e Css3 - 1 | WebMaster & WebDesignerHTML5 e Css3 - 1 | WebMaster & WebDesigner
HTML5 e Css3 - 1 | WebMaster & WebDesigner
 
HTML5 e Css3 - 1 | WebMaster & WebDesigner
HTML5 e Css3 - 1 | WebMaster & WebDesigner HTML5 e Css3 - 1 | WebMaster & WebDesigner
HTML5 e Css3 - 1 | WebMaster & WebDesigner
 
HTML5 e Css3 - 4 | WebMaster & WebDesigner
HTML5 e Css3 - 4 | WebMaster & WebDesignerHTML5 e Css3 - 4 | WebMaster & WebDesigner
HTML5 e Css3 - 4 | WebMaster & WebDesigner
 
HTML5, CSS3 e JavaScript: Web app per tutti gli schermi by Marco Casario
HTML5, CSS3 e JavaScript: Web app per tutti gli schermi by Marco CasarioHTML5, CSS3 e JavaScript: Web app per tutti gli schermi by Marco Casario
HTML5, CSS3 e JavaScript: Web app per tutti gli schermi by Marco Casario
 
Html e Css - 3 | WebMaster & WebDesigner
Html e Css - 3 | WebMaster & WebDesignerHtml e Css - 3 | WebMaster & WebDesigner
Html e Css - 3 | WebMaster & WebDesigner
 
Html5 - Un anno dopo
Html5 - Un anno dopoHtml5 - Un anno dopo
Html5 - Un anno dopo
 
Scalable JavaScript Design Patterns
Scalable JavaScript Design PatternsScalable JavaScript Design Patterns
Scalable JavaScript Design Patterns
 

Similar a HTML5 Italy: Mai più CSS, fogli di stile moderni con LESS - Salvatore Romeo

Applicazioni HTML5 Superveloci - Salvatore Romeo
Applicazioni HTML5 Superveloci - Salvatore RomeoApplicazioni HTML5 Superveloci - Salvatore Romeo
Applicazioni HTML5 Superveloci - Salvatore Romeomarcocasario
 
Continous Delivery & HQ Code
Continous Delivery & HQ CodeContinous Delivery & HQ Code
Continous Delivery & HQ CodeDaniele Mondello
 
Continuous Delivery Database - Diego Mauricio Lagos Morales - Codemotion Rome...
Continuous Delivery Database - Diego Mauricio Lagos Morales - Codemotion Rome...Continuous Delivery Database - Diego Mauricio Lagos Morales - Codemotion Rome...
Continuous Delivery Database - Diego Mauricio Lagos Morales - Codemotion Rome...Codemotion
 
Introduzione alla localizzazione web
Introduzione alla localizzazione webIntroduzione alla localizzazione web
Introduzione alla localizzazione webQabiria
 
Il "rilascio" con Octopus Deploy (visto dagli occhi di un dev)
Il "rilascio" con Octopus Deploy (visto dagli occhi di un dev)Il "rilascio" con Octopus Deploy (visto dagli occhi di un dev)
Il "rilascio" con Octopus Deploy (visto dagli occhi di un dev)Carlo Fedeli
 
Novità in Visual Studio 2012
Novità in Visual Studio 2012Novità in Visual Studio 2012
Novità in Visual Studio 2012Sinergia Totale
 
MongoDB User Group Padova - Overviews iniziale su MongoDB
MongoDB User Group Padova - Overviews iniziale su MongoDBMongoDB User Group Padova - Overviews iniziale su MongoDB
MongoDB User Group Padova - Overviews iniziale su MongoDBStefano Dindo
 
Continuous Integration e High Quality Code
Continuous Integration e High Quality CodeContinuous Integration e High Quality Code
Continuous Integration e High Quality CodeDaniele Mondello
 
Fe04 angular js-101
Fe04   angular js-101Fe04   angular js-101
Fe04 angular js-101DotNetCampus
 
[drupalday2017] - DevOps: strumenti di automazione per Drupal8
[drupalday2017] - DevOps: strumenti di automazione per Drupal8[drupalday2017] - DevOps: strumenti di automazione per Drupal8
[drupalday2017] - DevOps: strumenti di automazione per Drupal8DrupalDay
 
[Luca Cracco] - DevOps: strumenti di automazione per Drupal8
[Luca Cracco] - DevOps: strumenti di automazione per Drupal8[Luca Cracco] - DevOps: strumenti di automazione per Drupal8
[Luca Cracco] - DevOps: strumenti di automazione per Drupal8Wellnet srl
 
DotNetToscana - Sessione TypeScript
DotNetToscana - Sessione TypeScriptDotNetToscana - Sessione TypeScript
DotNetToscana - Sessione TypeScriptSinergia Totale
 
Smau milano 2012 massimiliano del cero
Smau milano 2012 massimiliano del ceroSmau milano 2012 massimiliano del cero
Smau milano 2012 massimiliano del ceroSMAU
 
Groovy e Domain Specific Languages
Groovy e Domain Specific LanguagesGroovy e Domain Specific Languages
Groovy e Domain Specific LanguagesTiziano Lattisi
 
Agileday2013 pratiche agili applicate all'infrastruttura
Agileday2013 pratiche agili applicate all'infrastrutturaAgileday2013 pratiche agili applicate all'infrastruttura
Agileday2013 pratiche agili applicate all'infrastrutturaXPeppers
 

Similar a HTML5 Italy: Mai più CSS, fogli di stile moderni con LESS - Salvatore Romeo (20)

Applicazioni HTML5 Superveloci - Salvatore Romeo
Applicazioni HTML5 Superveloci - Salvatore RomeoApplicazioni HTML5 Superveloci - Salvatore Romeo
Applicazioni HTML5 Superveloci - Salvatore Romeo
 
Continous Delivery & HQ Code
Continous Delivery & HQ CodeContinous Delivery & HQ Code
Continous Delivery & HQ Code
 
Continuous Delivery Database - Diego Mauricio Lagos Morales - Codemotion Rome...
Continuous Delivery Database - Diego Mauricio Lagos Morales - Codemotion Rome...Continuous Delivery Database - Diego Mauricio Lagos Morales - Codemotion Rome...
Continuous Delivery Database - Diego Mauricio Lagos Morales - Codemotion Rome...
 
Introduzione alla localizzazione web
Introduzione alla localizzazione webIntroduzione alla localizzazione web
Introduzione alla localizzazione web
 
Il "rilascio" con Octopus Deploy (visto dagli occhi di un dev)
Il "rilascio" con Octopus Deploy (visto dagli occhi di un dev)Il "rilascio" con Octopus Deploy (visto dagli occhi di un dev)
Il "rilascio" con Octopus Deploy (visto dagli occhi di un dev)
 
Web frameworks
Web frameworksWeb frameworks
Web frameworks
 
Novità in Visual Studio 2012
Novità in Visual Studio 2012Novità in Visual Studio 2012
Novità in Visual Studio 2012
 
MongoDB User Group Padova - Overviews iniziale su MongoDB
MongoDB User Group Padova - Overviews iniziale su MongoDBMongoDB User Group Padova - Overviews iniziale su MongoDB
MongoDB User Group Padova - Overviews iniziale su MongoDB
 
MongoDB
MongoDBMongoDB
MongoDB
 
Continuous Integration e High Quality Code
Continuous Integration e High Quality CodeContinuous Integration e High Quality Code
Continuous Integration e High Quality Code
 
Fe04 angular js-101
Fe04   angular js-101Fe04   angular js-101
Fe04 angular js-101
 
[drupalday2017] - DevOps: strumenti di automazione per Drupal8
[drupalday2017] - DevOps: strumenti di automazione per Drupal8[drupalday2017] - DevOps: strumenti di automazione per Drupal8
[drupalday2017] - DevOps: strumenti di automazione per Drupal8
 
[Luca Cracco] - DevOps: strumenti di automazione per Drupal8
[Luca Cracco] - DevOps: strumenti di automazione per Drupal8[Luca Cracco] - DevOps: strumenti di automazione per Drupal8
[Luca Cracco] - DevOps: strumenti di automazione per Drupal8
 
Ddive Xpage852
Ddive Xpage852Ddive Xpage852
Ddive Xpage852
 
Visual basic: odbc su MySql
Visual basic: odbc su MySqlVisual basic: odbc su MySql
Visual basic: odbc su MySql
 
DotNetToscana - Sessione TypeScript
DotNetToscana - Sessione TypeScriptDotNetToscana - Sessione TypeScript
DotNetToscana - Sessione TypeScript
 
Smau milano 2012 massimiliano del cero
Smau milano 2012 massimiliano del ceroSmau milano 2012 massimiliano del cero
Smau milano 2012 massimiliano del cero
 
Groovy e Domain Specific Languages
Groovy e Domain Specific LanguagesGroovy e Domain Specific Languages
Groovy e Domain Specific Languages
 
Agileday2013 pratiche agili applicate all'infrastruttura
Agileday2013 pratiche agili applicate all'infrastrutturaAgileday2013 pratiche agili applicate all'infrastruttura
Agileday2013 pratiche agili applicate all'infrastruttura
 
NoSql - Key Value
NoSql - Key ValueNoSql - Key Value
NoSql - Key Value
 

Más de marcocasario

HTML5, CSS3 e Javascript per sviluppare Web App per tutti gli schermi - Codem...
HTML5, CSS3 e Javascript per sviluppare Web App per tutti gli schermi - Codem...HTML5, CSS3 e Javascript per sviluppare Web App per tutti gli schermi - Codem...
HTML5, CSS3 e Javascript per sviluppare Web App per tutti gli schermi - Codem...marcocasario
 
HTML5 Italy: Back end ecosystems for your applications - Cesare Rocchi + Clau...
HTML5 Italy: Back end ecosystems for your applications - Cesare Rocchi + Clau...HTML5 Italy: Back end ecosystems for your applications - Cesare Rocchi + Clau...
HTML5 Italy: Back end ecosystems for your applications - Cesare Rocchi + Clau...marcocasario
 
HTML5 cross-platform and device development: web app per tutti gli schermi
HTML5 cross-platform and device development: web app per tutti gli schermiHTML5 cross-platform and device development: web app per tutti gli schermi
HTML5 cross-platform and device development: web app per tutti gli schermimarcocasario
 
Mobile HTML5 Web Apps - Codemotion 2012
Mobile HTML5 Web Apps - Codemotion 2012Mobile HTML5 Web Apps - Codemotion 2012
Mobile HTML5 Web Apps - Codemotion 2012marcocasario
 
Enterprise Spring and Flex applications
Enterprise Spring and Flex applicationsEnterprise Spring and Flex applications
Enterprise Spring and Flex applicationsmarcocasario
 
Local Persistent data with ActionScript 3 and AIR
Local Persistent data with ActionScript 3 and AIRLocal Persistent data with ActionScript 3 and AIR
Local Persistent data with ActionScript 3 and AIRmarcocasario
 
Enterprise Rich Internet Applications con Java, Livecycle DS e Flex 3
Enterprise Rich Internet Applications con Java, Livecycle DS e Flex 3Enterprise Rich Internet Applications con Java, Livecycle DS e Flex 3
Enterprise Rich Internet Applications con Java, Livecycle DS e Flex 3marcocasario
 
Adobe TechConnection: Flex Best Practices
Adobe TechConnection: Flex Best PracticesAdobe TechConnection: Flex Best Practices
Adobe TechConnection: Flex Best Practicesmarcocasario
 
We make it RIA at Comtaste
We make it RIA at ComtasteWe make it RIA at Comtaste
We make it RIA at Comtastemarcocasario
 
Flex and AIR User Interface Design Showcases and Examples
Flex and AIR User Interface Design Showcases and ExamplesFlex and AIR User Interface Design Showcases and Examples
Flex and AIR User Interface Design Showcases and Examplesmarcocasario
 
Designing Flex and AIR applications
Designing Flex and AIR applicationsDesigning Flex and AIR applications
Designing Flex and AIR applicationsmarcocasario
 
Architecting ActionScript 3 applications using PureMVC
Architecting ActionScript 3 applications using PureMVCArchitecting ActionScript 3 applications using PureMVC
Architecting ActionScript 3 applications using PureMVCmarcocasario
 
The ActionScript Conference 08, Singapore - Developing ActionScript 3 Mash up...
The ActionScript Conference 08, Singapore - Developing ActionScript 3 Mash up...The ActionScript Conference 08, Singapore - Developing ActionScript 3 Mash up...
The ActionScript Conference 08, Singapore - Developing ActionScript 3 Mash up...marcocasario
 
Developing Mash up applications with Adobe AIR
Developing Mash up applications with Adobe AIRDeveloping Mash up applications with Adobe AIR
Developing Mash up applications with Adobe AIRmarcocasario
 
Flex Daily Solutions @ FITC 2008
Flex Daily Solutions @ FITC 2008Flex Daily Solutions @ FITC 2008
Flex Daily Solutions @ FITC 2008marcocasario
 
Rich Internet Application con Flex, AIR e Java
Rich Internet Application con Flex, AIR e JavaRich Internet Application con Flex, AIR e Java
Rich Internet Application con Flex, AIR e Javamarcocasario
 
Developing Adobe AIR desktop applications
Developing Adobe AIR desktop applicationsDeveloping Adobe AIR desktop applications
Developing Adobe AIR desktop applicationsmarcocasario
 
Developing AJAX pages using the Adobe Spry framework in Dreamweaver CS3
Developing AJAX pages using the Adobe Spry framework in Dreamweaver CS3Developing AJAX pages using the Adobe Spry framework in Dreamweaver CS3
Developing AJAX pages using the Adobe Spry framework in Dreamweaver CS3marcocasario
 
Choosing the right Rich Internet Application technology path
Choosing the right Rich Internet Application technology pathChoosing the right Rich Internet Application technology path
Choosing the right Rich Internet Application technology pathmarcocasario
 

Más de marcocasario (20)

HTML5, CSS3 e Javascript per sviluppare Web App per tutti gli schermi - Codem...
HTML5, CSS3 e Javascript per sviluppare Web App per tutti gli schermi - Codem...HTML5, CSS3 e Javascript per sviluppare Web App per tutti gli schermi - Codem...
HTML5, CSS3 e Javascript per sviluppare Web App per tutti gli schermi - Codem...
 
HTML5 Italy: Back end ecosystems for your applications - Cesare Rocchi + Clau...
HTML5 Italy: Back end ecosystems for your applications - Cesare Rocchi + Clau...HTML5 Italy: Back end ecosystems for your applications - Cesare Rocchi + Clau...
HTML5 Italy: Back end ecosystems for your applications - Cesare Rocchi + Clau...
 
HTML5 cross-platform and device development: web app per tutti gli schermi
HTML5 cross-platform and device development: web app per tutti gli schermiHTML5 cross-platform and device development: web app per tutti gli schermi
HTML5 cross-platform and device development: web app per tutti gli schermi
 
Mobile HTML5 Web Apps - Codemotion 2012
Mobile HTML5 Web Apps - Codemotion 2012Mobile HTML5 Web Apps - Codemotion 2012
Mobile HTML5 Web Apps - Codemotion 2012
 
Enterprise Spring and Flex applications
Enterprise Spring and Flex applicationsEnterprise Spring and Flex applications
Enterprise Spring and Flex applications
 
Local Persistent data with ActionScript 3 and AIR
Local Persistent data with ActionScript 3 and AIRLocal Persistent data with ActionScript 3 and AIR
Local Persistent data with ActionScript 3 and AIR
 
Enterprise Rich Internet Applications con Java, Livecycle DS e Flex 3
Enterprise Rich Internet Applications con Java, Livecycle DS e Flex 3Enterprise Rich Internet Applications con Java, Livecycle DS e Flex 3
Enterprise Rich Internet Applications con Java, Livecycle DS e Flex 3
 
Adobe TechConnection: Flex Best Practices
Adobe TechConnection: Flex Best PracticesAdobe TechConnection: Flex Best Practices
Adobe TechConnection: Flex Best Practices
 
We make it RIA at Comtaste
We make it RIA at ComtasteWe make it RIA at Comtaste
We make it RIA at Comtaste
 
Flex and AIR User Interface Design Showcases and Examples
Flex and AIR User Interface Design Showcases and ExamplesFlex and AIR User Interface Design Showcases and Examples
Flex and AIR User Interface Design Showcases and Examples
 
Designing Flex and AIR applications
Designing Flex and AIR applicationsDesigning Flex and AIR applications
Designing Flex and AIR applications
 
Architecting ActionScript 3 applications using PureMVC
Architecting ActionScript 3 applications using PureMVCArchitecting ActionScript 3 applications using PureMVC
Architecting ActionScript 3 applications using PureMVC
 
The ActionScript Conference 08, Singapore - Developing ActionScript 3 Mash up...
The ActionScript Conference 08, Singapore - Developing ActionScript 3 Mash up...The ActionScript Conference 08, Singapore - Developing ActionScript 3 Mash up...
The ActionScript Conference 08, Singapore - Developing ActionScript 3 Mash up...
 
Developing Mash up applications with Adobe AIR
Developing Mash up applications with Adobe AIRDeveloping Mash up applications with Adobe AIR
Developing Mash up applications with Adobe AIR
 
FlexCamp London
FlexCamp LondonFlexCamp London
FlexCamp London
 
Flex Daily Solutions @ FITC 2008
Flex Daily Solutions @ FITC 2008Flex Daily Solutions @ FITC 2008
Flex Daily Solutions @ FITC 2008
 
Rich Internet Application con Flex, AIR e Java
Rich Internet Application con Flex, AIR e JavaRich Internet Application con Flex, AIR e Java
Rich Internet Application con Flex, AIR e Java
 
Developing Adobe AIR desktop applications
Developing Adobe AIR desktop applicationsDeveloping Adobe AIR desktop applications
Developing Adobe AIR desktop applications
 
Developing AJAX pages using the Adobe Spry framework in Dreamweaver CS3
Developing AJAX pages using the Adobe Spry framework in Dreamweaver CS3Developing AJAX pages using the Adobe Spry framework in Dreamweaver CS3
Developing AJAX pages using the Adobe Spry framework in Dreamweaver CS3
 
Choosing the right Rich Internet Application technology path
Choosing the right Rich Internet Application technology pathChoosing the right Rich Internet Application technology path
Choosing the right Rich Internet Application technology path
 

Último

Daniele Lunassi, CEO & Head of Design @Eye Studios – “Creare prodotti e servi...
Daniele Lunassi, CEO & Head of Design @Eye Studios – “Creare prodotti e servi...Daniele Lunassi, CEO & Head of Design @Eye Studios – “Creare prodotti e servi...
Daniele Lunassi, CEO & Head of Design @Eye Studios – “Creare prodotti e servi...Associazione Digital Days
 
ScrapeGraphAI: a new way to scrape context with AI
ScrapeGraphAI: a new way to scrape context with AIScrapeGraphAI: a new way to scrape context with AI
ScrapeGraphAI: a new way to scrape context with AIinfogdgmi
 
Alessio Mazzotti, Aaron Brancotti; Writer, Screenwriter, Director, UX, Autore...
Alessio Mazzotti, Aaron Brancotti; Writer, Screenwriter, Director, UX, Autore...Alessio Mazzotti, Aaron Brancotti; Writer, Screenwriter, Director, UX, Autore...
Alessio Mazzotti, Aaron Brancotti; Writer, Screenwriter, Director, UX, Autore...Associazione Digital Days
 
Luigi Di Carlo, CEO & Founder @Evometrika srl – “Ruolo della computer vision ...
Luigi Di Carlo, CEO & Founder @Evometrika srl – “Ruolo della computer vision ...Luigi Di Carlo, CEO & Founder @Evometrika srl – “Ruolo della computer vision ...
Luigi Di Carlo, CEO & Founder @Evometrika srl – “Ruolo della computer vision ...Associazione Digital Days
 
Edoardo Di Pietro – “Virtual Influencer vs Umano: Rubiamo il lavoro all’AI”
Edoardo Di Pietro – “Virtual Influencer vs Umano: Rubiamo il lavoro all’AI”Edoardo Di Pietro – “Virtual Influencer vs Umano: Rubiamo il lavoro all’AI”
Edoardo Di Pietro – “Virtual Influencer vs Umano: Rubiamo il lavoro all’AI”Associazione Digital Days
 
Alessandro Nasi, COO @Djungle Studio – “Cosa delegheresti alla copia di te st...
Alessandro Nasi, COO @Djungle Studio – “Cosa delegheresti alla copia di te st...Alessandro Nasi, COO @Djungle Studio – “Cosa delegheresti alla copia di te st...
Alessandro Nasi, COO @Djungle Studio – “Cosa delegheresti alla copia di te st...Associazione Digital Days
 
Gabriele Mittica, CEO @Corley Cloud – “Come creare un’azienda “nativa in clou...
Gabriele Mittica, CEO @Corley Cloud – “Come creare un’azienda “nativa in clou...Gabriele Mittica, CEO @Corley Cloud – “Come creare un’azienda “nativa in clou...
Gabriele Mittica, CEO @Corley Cloud – “Come creare un’azienda “nativa in clou...Associazione Digital Days
 
Federico Bottino, Lead Venture Builder – “Riflessioni sull’Innovazione: La Cu...
Federico Bottino, Lead Venture Builder – “Riflessioni sull’Innovazione: La Cu...Federico Bottino, Lead Venture Builder – “Riflessioni sull’Innovazione: La Cu...
Federico Bottino, Lead Venture Builder – “Riflessioni sull’Innovazione: La Cu...Associazione Digital Days
 
Mael Chiabrera, Software Developer; Viola Bongini, Digital Experience Designe...
Mael Chiabrera, Software Developer; Viola Bongini, Digital Experience Designe...Mael Chiabrera, Software Developer; Viola Bongini, Digital Experience Designe...
Mael Chiabrera, Software Developer; Viola Bongini, Digital Experience Designe...Associazione Digital Days
 

Último (9)

Daniele Lunassi, CEO & Head of Design @Eye Studios – “Creare prodotti e servi...
Daniele Lunassi, CEO & Head of Design @Eye Studios – “Creare prodotti e servi...Daniele Lunassi, CEO & Head of Design @Eye Studios – “Creare prodotti e servi...
Daniele Lunassi, CEO & Head of Design @Eye Studios – “Creare prodotti e servi...
 
ScrapeGraphAI: a new way to scrape context with AI
ScrapeGraphAI: a new way to scrape context with AIScrapeGraphAI: a new way to scrape context with AI
ScrapeGraphAI: a new way to scrape context with AI
 
Alessio Mazzotti, Aaron Brancotti; Writer, Screenwriter, Director, UX, Autore...
Alessio Mazzotti, Aaron Brancotti; Writer, Screenwriter, Director, UX, Autore...Alessio Mazzotti, Aaron Brancotti; Writer, Screenwriter, Director, UX, Autore...
Alessio Mazzotti, Aaron Brancotti; Writer, Screenwriter, Director, UX, Autore...
 
Luigi Di Carlo, CEO & Founder @Evometrika srl – “Ruolo della computer vision ...
Luigi Di Carlo, CEO & Founder @Evometrika srl – “Ruolo della computer vision ...Luigi Di Carlo, CEO & Founder @Evometrika srl – “Ruolo della computer vision ...
Luigi Di Carlo, CEO & Founder @Evometrika srl – “Ruolo della computer vision ...
 
Edoardo Di Pietro – “Virtual Influencer vs Umano: Rubiamo il lavoro all’AI”
Edoardo Di Pietro – “Virtual Influencer vs Umano: Rubiamo il lavoro all’AI”Edoardo Di Pietro – “Virtual Influencer vs Umano: Rubiamo il lavoro all’AI”
Edoardo Di Pietro – “Virtual Influencer vs Umano: Rubiamo il lavoro all’AI”
 
Alessandro Nasi, COO @Djungle Studio – “Cosa delegheresti alla copia di te st...
Alessandro Nasi, COO @Djungle Studio – “Cosa delegheresti alla copia di te st...Alessandro Nasi, COO @Djungle Studio – “Cosa delegheresti alla copia di te st...
Alessandro Nasi, COO @Djungle Studio – “Cosa delegheresti alla copia di te st...
 
Gabriele Mittica, CEO @Corley Cloud – “Come creare un’azienda “nativa in clou...
Gabriele Mittica, CEO @Corley Cloud – “Come creare un’azienda “nativa in clou...Gabriele Mittica, CEO @Corley Cloud – “Come creare un’azienda “nativa in clou...
Gabriele Mittica, CEO @Corley Cloud – “Come creare un’azienda “nativa in clou...
 
Federico Bottino, Lead Venture Builder – “Riflessioni sull’Innovazione: La Cu...
Federico Bottino, Lead Venture Builder – “Riflessioni sull’Innovazione: La Cu...Federico Bottino, Lead Venture Builder – “Riflessioni sull’Innovazione: La Cu...
Federico Bottino, Lead Venture Builder – “Riflessioni sull’Innovazione: La Cu...
 
Mael Chiabrera, Software Developer; Viola Bongini, Digital Experience Designe...
Mael Chiabrera, Software Developer; Viola Bongini, Digital Experience Designe...Mael Chiabrera, Software Developer; Viola Bongini, Digital Experience Designe...
Mael Chiabrera, Software Developer; Viola Bongini, Digital Experience Designe...
 

HTML5 Italy: Mai più CSS, fogli di stile moderni con LESS - Salvatore Romeo

Notas del editor

  1. Parleremo di una tecnica che vi aiuterà nello sviluppo e nella manutenibilità dei vostri fogli di stile
  2. Se vi prometto che in 15 minuti rivoluziono il vostro modo di scrivere i fogli di stile per sempre mi credete? Facciamo un scommessa
  3. Compilando un file LESS viene generato un file CSS pronto per essere embeddato nella vostra pagina HTML
  4. Compilando un file LESS viene generato un file CSS pronto per essere embeddato nella vostra pagina HTML
  5. Una bella RDP (rottura di scatole)
  6. Una bella RDP (rottura di scatole)
  7. Una bella RDP (rottura di scatole)
  8. Una bella RDP (rottura di scatole)
  9. Una bella RDP (rottura di scatole)
  10. Una bella RDP (rottura di scatole)
  11. Una bella RDP (rottura di scatole)
  12. Una bella RDP (rottura di scatole)
  13. Una bella RDP (rottura di scatole)
  14. Una bella RDP (rottura di scatole)
  15. Una bella RDP (rottura di scatole)
  16. Una bella RDP (rottura di scatole)
  17. Riconoscete questa regola? Si tratta di una regola per aggiungere un’ombra ad un elemento.Se usate i CSS vi ritroverete spesso a fare Copia&Incolla per definire ombre, ma più in generale per replicare i prefissi di ogni browser per diverse regole
  18. LESS introduce i mixin. In pratica voi definite delle regole CSS di uso comune, come shadow in questo caso, e potete riutilizzarle in altre regole CSS.Per chi di voi ha più dimestichezza con i CSS, c’è una tecnica, nota come OOCSS, che vi permette comunque di ovviare a questo problema, aggiungendo ad esempio la classe «shadow» ad un elemento. Tuttavia andiamo a vedere un caso più complesso
  19. LESS introduce i mixin parametrici: potete definire dei parametri con dei valori di default. In questo modo non dovrete veramente più usare il copia/incolla.Per chi di voi ha qualche base di programmazione, i mixin parametrici sono come delle funzioni. I parametri si definiscono e si usano come le variabili. Vengono richiamati come se fossero una funzione. A qualcuno di voi non è chiaro?
  20. Potete utilizzarli per evitare di ripetere i prefissi dei browser, ma anche in molte altre occasioni, come per definire delle regole ed estenderle successivamente.Esistono anche i mixincondizionali: sitratta di caratterizzareilmixin in base ad un intervallo di valori di qualcheparametro. Ad esempiomagarivoglio la distanzadei pixel di un’ombrasiamaggiore se la trasparenza è maggiore. Si usa la clausola when, ma non vi dico I dettagli: se vi serve sappiatecheesistequestapossibilità e sulsito lesscss.org vi spiega come farlo.
  21. Raccomandazione: non utilizzatelo
  22. Raccomandazione: non utilizzatelo
  23. Raccomandazione: non utilizzatelo
  24. Ad esempio conoscete i data-url? tempo fa abbiamo avuto la necessità di inglobare le immagini minori di 1kB come data-url al fine di ridurre il numero di richieste al server.
  25. In questo talk ho deciso di parlarvi di LESS perché didatticamente è il linguaggio più semplice da spiegare. Esistono però diverse alternative a LESS. In particolare
  26. In questo talk ho deciso di parlarvi di LESS perché didatticamente è il linguaggio più semplice da spiegare. Esistono però diverse alternative a LESS. In particolare
  27. In questo talk ho deciso di parlarvi di LESS perché didatticamente è il linguaggio più semplice da spiegare. Esistono però diverse alternative a LESS. In particolare
  28. In questo talk ho deciso di parlarvi di LESS perché didatticamente è il linguaggio più semplice da spiegare. Esistono però diverse alternative a LESS. In particolare
  29. In questo talk ho deciso di parlarvi di LESS perché didatticamente è il linguaggio più semplice da spiegare. Esistono però diverse alternative a LESS. In particolare
  30. In questo talk ho deciso di parlarvi di LESS perché didatticamente è il linguaggio più semplice da spiegare. Esistono però diverse alternative a LESS. In particolare
  31. In questo talk ho deciso di parlarvi di LESS perché didatticamente è il linguaggio più semplice da spiegare. Esistono però diverse alternative a LESS. In particolare
  32. In questo talk ho deciso di parlarvi di LESS perché didatticamente è il linguaggio più semplice da spiegare. Esistono però diverse alternative a LESS. In particolare
  33. In questo talk ho deciso di parlarvi di LESS perché didatticamente è il linguaggio più semplice da spiegare. Esistono però diverse alternative a LESS. In particolare