SlideShare una empresa de Scribd logo
1 de 30
Descargar para leer sin conexión
CSS Preprocessors Time!
    - with SASS, LESS and Stylus -
           (and Finn and Jake)




                                     @nahuelsotelo
Hola.           Soy
        Nahuel Sotelo
            @nahuelsotelo

        machaco teclados en
¿Qué son?



Una forma más eficiente de escribir CSS.
¿Qué son?


            .scss / .less / .styl
                   COMPILA



                    .css
¿Qué necesito
para empezar?
¿Qué necesito?
   Un archivo de texto con una extensión determinada
   (.scss, .less, .styl).
   Un editor de código que reconozca el lenguaje.
   Alguna manera de compilarlo en CSS.
¿Qué necesito?
   Hay varias maneras de compilar:
   En servidor (ruby)
   En cliente (JavaScript)
   En local (Compass, Codekit, Scout, less.app)
¿Qué necesito?

          Mi recomendación:
¿Qué necesito?
Codekit:
   Compila automáticamente al guardar en tu editor.
   Puede definirse el nivel de compresión del CSS.
   Settings por proyecto.
   Reporta errores.
   Actualiza los preprocesadores automáticamente.
   Bonus track: ¡Optimiza Imágenes!
Ventajas de los
preprocesadores
Ventajas
   Mejora el workflow de trabajo.
   Produce un código más legible y mantenible.
   Tienen una curva de aprendizaje muy amigable.
   Prototipado rápido con frameworks como Compass,
   Bourbon, Foundation o Twitter Bootstrap.
Pero no todo es
 color de rosa
Desventajas
   Si se usan sintaxis extremas luego puede costar volver
   al CSS normal.
   En equipos de varias personas, o todos o nadie.
   Si se trabaja en más de un equipo, todos tienen que tener
   la misma configuración.
   Si no se tiene cuidado puede resultar en un código
   ineficiente. ¡DRY!
Sintaxis (SCSS)
Variables
SCSS:
   $main: #FF54DC;
   $sans: Arial, Helvetica, sans-serif;

   .finn {
      border: 1px solid $main;
      color: $main;
      font-family: $sans;
   }
   .jake {
      background: $main;
   }
Variables
CSS:
   .finn {
      border: 1px solid #FF54DC;
      color: #FF54DC;
      font-family: Arial, Helvetica, sans-serif;
   }
   .jake {
      background: #FF54DC;
   }
Nesting
SCSS:
   .nav {
      border: 1px solid #666;
      padding: 1em;
      li {
           float: left;
           a{
             text-decoration: none;
             &:hover {
                text-decoration: underline;
             }
           }
      }
   }
Nesting
CSS:
   .nav {
      border: 1px solid #666;
      padding: 1em;
   }
   .nav li {
      float: left;
   }
   .nav li a {
      text-decoration: none;
   }
   .nav li a:hover {
      text-decoration: underline;
   }
Mixins
SCSS:
   @mixin font($size) {
     font-size: $size;
     font-size: $size/16px+0rem;
   }

   /* ======================= */

   .finn {
      @include font(14px);
   }
Mixins
CSS:
   .finn {
     font-size: 14px;
     font-size: 0.875rem;
   }
Mixins
SCSS:
   @mixin gradient($color1, $color2, $fall, $start, $end) {
      background: $fall;
      background-image: -webkit-gradient(linear, left top, left bottom, color-stop($start,$color1), color-
   stop($end,$color2));
      background-image: -webkit-linear-gradient(top, $color1 $start, $color2 $end);
      background-image: -moz-linear-gradient(top, $color1 $start, $color2 $end);
      background-image:     -ms-linear-gradient(top, $color1 $start, $color2 $end);
      background-image:       -o-linear-gradient(top, $color1 $start, $color2 $end);
      background-image:         linear-gradient(top, $color1 $start, $color2 $end);
   }

   /* ======================= */

   .finn {
      @include gradient(red,yellow, orange, 0%,100%);
   }
Mixins
CSS:
   .finn {
      background: orange;
      background-image: -webkit-gradient(linear, left top, left bottom, color-stop(0%, red), color-
   stop(100%, yellow));
      background-image: -webkit-linear-gradient(top, red 0%, yellow 100%);
      background-image: -moz-linear-gradient(top, red 0%, yellow 100%);
      background-image: -ms-linear-gradient(top, red 0%, yellow 100%);
      background-image: -o-linear-gradient(top, red 0%, yellow 100%);
      background-image: linear-gradient(top, red 0%, yellow 100%);
   }
Operaciones con colores
SCSS:
   .a {
      color: #F00;
   }
   .a:hover {
      color: lighten(#F00, 20%);
   }
Operaciones con colores
CSS:
   .a {
      color: #F00;
   }
   .a:hover {
      color: #FF6666;
   }
Mates
SCSS:
   .body {
     margin: (14px/2);
     top: 50px + 100px;
     right: 100px - 50px;
     left: 10px * 10px;
   }
Mates
CSS:
   .body {
     margin: 7px;
     top: 150px;
     right: 50px;
     left: 100px;
   }
Y es sólo la
punta del icberg
     Functions
   Conditionals
   Interpolation
       Grids
         ...
Recursos
      PREPROCESADORES:
  •   SASS: http://sass-lang.com/
  •   LESS: http://lesscss.org/
  •   STYLUS: http://learnboost.github.com/stylus/

      HERRAMIENTAS:
  •   CODEKIT: http://incident57.com/codekit/
  •   SCOUT: http://mhs.github.com/scout-app/
  •   LESS APP: http://incident57.com/less/
Recursos
      FRAMEWORKS:
  •   COMPASS: http://compass-style.org/
  •   BOURBON: http://thoughtbot.com/bourbon/
  •   ZURB FOUNDATION: http://foundation.zurb.com/
  •   TWITTER BOOTSTRAP: http://twitter.github.com/bootstrap/

      GRID SYSTEMS:
  •   SINGULARITY: http://singularity.gs/
  •   SEMANTIC: http://semantic.gs/
  •   SUSY: http://susy.oddbird.net/
¡Gracias!




Imagenes de Adventure Time cortesía de Google y TM & © 2012 Cartoon Network. A Time Warner Company. All Rights Reserved.

Más contenido relacionado

Similar a "CSS Preprocessors Time!" por @nahuelsotelo

Sass: CSS con Superpoderes
Sass: CSS con SuperpoderesSass: CSS con Superpoderes
Sass: CSS con SuperpoderesEdgar Parada
 
Adaptando CSS a los programadores: SASS y Compass
Adaptando CSS a los programadores: SASS y CompassAdaptando CSS a los programadores: SASS y Compass
Adaptando CSS a los programadores: SASS y CompassParadigma Digital
 
PHPVigo #09: Preprocesadores CSS/SASS por Sergio Carracedo
PHPVigo #09: Preprocesadores CSS/SASS por Sergio CarracedoPHPVigo #09: Preprocesadores CSS/SASS por Sergio Carracedo
PHPVigo #09: Preprocesadores CSS/SASS por Sergio CarracedoPHP Vigo
 
Desarrollo web inteligente
Desarrollo web inteligenteDesarrollo web inteligente
Desarrollo web inteligenteMax Kraszewski
 
Sass - Preprocesador de CSS
Sass  - Preprocesador de CSSSass  - Preprocesador de CSS
Sass - Preprocesador de CSSJavier Herrera
 
Guia N3 Proyectos Web Php Css, Js
Guia N3   Proyectos Web   Php Css, JsGuia N3   Proyectos Web   Php Css, Js
Guia N3 Proyectos Web Php Css, JsJose Ponce
 
Frameworks CSS
Frameworks CSSFrameworks CSS
Frameworks CSSbetabeers
 
Introducción a los Frameworks CSS
Introducción a los Frameworks CSSIntroducción a los Frameworks CSS
Introducción a los Frameworks CSSLuis Miguel Martín
 
Front end basics - Sass
Front end basics - SassFront end basics - Sass
Front end basics - SassNadal Soler
 
Arquitectura frontend para proyectos con preprocesadores CSS
Arquitectura frontend para proyectos con preprocesadores CSSArquitectura frontend para proyectos con preprocesadores CSS
Arquitectura frontend para proyectos con preprocesadores CSSAlberto Portolés Coscojuela
 
CSS Preprocessors - Sass
CSS Preprocessors - SassCSS Preprocessors - Sass
CSS Preprocessors - SassLourdes Montano
 
Conferencia HTML5 y CSS3 por Alexandra García Milan
Conferencia HTML5 y CSS3 por Alexandra García MilanConferencia HTML5 y CSS3 por Alexandra García Milan
Conferencia HTML5 y CSS3 por Alexandra García MilanAndres Karp
 

Similar a "CSS Preprocessors Time!" por @nahuelsotelo (20)

Sass: CSS con Superpoderes
Sass: CSS con SuperpoderesSass: CSS con Superpoderes
Sass: CSS con Superpoderes
 
Adaptando CSS a los programadores: SASS y Compass
Adaptando CSS a los programadores: SASS y CompassAdaptando CSS a los programadores: SASS y Compass
Adaptando CSS a los programadores: SASS y Compass
 
PHPVigo #09: Preprocesadores CSS/SASS por Sergio Carracedo
PHPVigo #09: Preprocesadores CSS/SASS por Sergio CarracedoPHPVigo #09: Preprocesadores CSS/SASS por Sergio Carracedo
PHPVigo #09: Preprocesadores CSS/SASS por Sergio Carracedo
 
Desarrollo web inteligente
Desarrollo web inteligenteDesarrollo web inteligente
Desarrollo web inteligente
 
Sass - Preprocesador de CSS
Sass  - Preprocesador de CSSSass  - Preprocesador de CSS
Sass - Preprocesador de CSS
 
Guia N3 Proyectos Web Php Css, Js
Guia N3   Proyectos Web   Php Css, JsGuia N3   Proyectos Web   Php Css, Js
Guia N3 Proyectos Web Php Css, Js
 
Css3
Css3Css3
Css3
 
Laboratorio 03
Laboratorio 03Laboratorio 03
Laboratorio 03
 
Frameworks CSS
Frameworks CSSFrameworks CSS
Frameworks CSS
 
Introducción a los Frameworks CSS
Introducción a los Frameworks CSSIntroducción a los Frameworks CSS
Introducción a los Frameworks CSS
 
WordPress y Grunt
WordPress y GruntWordPress y Grunt
WordPress y Grunt
 
CSS3
CSS3CSS3
CSS3
 
Semana 3 Maquetación CSS
Semana 3   Maquetación CSSSemana 3   Maquetación CSS
Semana 3 Maquetación CSS
 
Front end basics - Sass
Front end basics - SassFront end basics - Sass
Front end basics - Sass
 
Hipervinculos
HipervinculosHipervinculos
Hipervinculos
 
LESS y SEO (TechFest)
LESS y SEO (TechFest)LESS y SEO (TechFest)
LESS y SEO (TechFest)
 
Arquitectura frontend para proyectos con preprocesadores CSS
Arquitectura frontend para proyectos con preprocesadores CSSArquitectura frontend para proyectos con preprocesadores CSS
Arquitectura frontend para proyectos con preprocesadores CSS
 
CSS Preprocessors - Sass
CSS Preprocessors - SassCSS Preprocessors - Sass
CSS Preprocessors - Sass
 
2014 04 padrino
2014 04 padrino2014 04 padrino
2014 04 padrino
 
Conferencia HTML5 y CSS3 por Alexandra García Milan
Conferencia HTML5 y CSS3 por Alexandra García MilanConferencia HTML5 y CSS3 por Alexandra García Milan
Conferencia HTML5 y CSS3 por Alexandra García Milan
 

Más de webcat

"Demystifying development techniques" por @eturino
"Demystifying development techniques" por @eturino"Demystifying development techniques" por @eturino
"Demystifying development techniques" por @eturinowebcat
 
"Inception" por @CarlosTheSailor
"Inception" por @CarlosTheSailor"Inception" por @CarlosTheSailor
"Inception" por @CarlosTheSailorwebcat
 
"Cómo hicimos la web responsive y accesible de cierto equipo de fútbol y otro...
"Cómo hicimos la web responsive y accesible de cierto equipo de fútbol y otro..."Cómo hicimos la web responsive y accesible de cierto equipo de fútbol y otro...
"Cómo hicimos la web responsive y accesible de cierto equipo de fútbol y otro...webcat
 
"unoStringSynth: hack musical con Arduino" por @unoStringSynth
"unoStringSynth: hack musical con Arduino" por @unoStringSynth"unoStringSynth: hack musical con Arduino" por @unoStringSynth
"unoStringSynth: hack musical con Arduino" por @unoStringSynthwebcat
 
"UX en 10 películas" por @nunile
"UX en 10 películas" por @nunile"UX en 10 películas" por @nunile
"UX en 10 películas" por @nunilewebcat
 
"Continuous Deployment" por @fredfigueiredo
"Continuous Deployment" por @fredfigueiredo"Continuous Deployment" por @fredfigueiredo
"Continuous Deployment" por @fredfigueiredowebcat
 
"WebView, the fifth element" por @fernando_cejas
"WebView, the fifth element" por @fernando_cejas"WebView, the fifth element" por @fernando_cejas
"WebView, the fifth element" por @fernando_cejaswebcat
 
"Pushing the boundaries" por @danielguillan
"Pushing the boundaries" por @danielguillan"Pushing the boundaries" por @danielguillan
"Pushing the boundaries" por @danielguillanwebcat
 
"One size fits none" por @martuishere
"One size fits none" por @martuishere"One size fits none" por @martuishere
"One size fits none" por @martuisherewebcat
 
"Designing digital products for kids" por @karinai
"Designing digital products for kids" por @karinai"Designing digital products for kids" por @karinai
"Designing digital products for kids" por @karinaiwebcat
 
"How to write better User Stories" por @jrhuerta
"How to write better User Stories" por @jrhuerta"How to write better User Stories" por @jrhuerta
"How to write better User Stories" por @jrhuertawebcat
 
"GTD & Pomodoro Technique" por @deambulando
"GTD & Pomodoro Technique" por @deambulando"GTD & Pomodoro Technique" por @deambulando
"GTD & Pomodoro Technique" por @deambulandowebcat
 
"Esqueuomorfismo: la ruptura de la metáfora" por @omixam
"Esqueuomorfismo: la ruptura de la metáfora" por @omixam"Esqueuomorfismo: la ruptura de la metáfora" por @omixam
"Esqueuomorfismo: la ruptura de la metáfora" por @omixamwebcat
 
"The work I love" por @karinai
"The work I love" por @karinai"The work I love" por @karinai
"The work I love" por @karinaiwebcat
 
"APIS, como reutilizar contenidos en tu web" por @daniel_julia
"APIS, como reutilizar contenidos en tu web" por @daniel_julia"APIS, como reutilizar contenidos en tu web" por @daniel_julia
"APIS, como reutilizar contenidos en tu web" por @daniel_juliawebcat
 
"Web performance optimization for everyone" por @abellonch
"Web performance optimization for everyone" por @abellonch"Web performance optimization for everyone" por @abellonch
"Web performance optimization for everyone" por @abellonchwebcat
 
"HTML & CSS apps & internet powered TV" por @JeronimJackson
"HTML & CSS apps & internet powered TV" por @JeronimJackson"HTML & CSS apps & internet powered TV" por @JeronimJackson
"HTML & CSS apps & internet powered TV" por @JeronimJacksonwebcat
 
"Cuadro de mandos para UX. El método HEART" por @galu
"Cuadro de mandos para UX. El método HEART" por @galu"Cuadro de mandos para UX. El método HEART" por @galu
"Cuadro de mandos para UX. El método HEART" por @galuwebcat
 
"Wordpress for web designers. What, when, how, where" por @nuriarai
"Wordpress for web designers. What, when, how, where" por @nuriarai"Wordpress for web designers. What, when, how, where" por @nuriarai
"Wordpress for web designers. What, when, how, where" por @nuriaraiwebcat
 
"Humans.txt" por @JuanjoBernabeu y @lafabricaverde
"Humans.txt" por @JuanjoBernabeu y @lafabricaverde"Humans.txt" por @JuanjoBernabeu y @lafabricaverde
"Humans.txt" por @JuanjoBernabeu y @lafabricaverdewebcat
 

Más de webcat (20)

"Demystifying development techniques" por @eturino
"Demystifying development techniques" por @eturino"Demystifying development techniques" por @eturino
"Demystifying development techniques" por @eturino
 
"Inception" por @CarlosTheSailor
"Inception" por @CarlosTheSailor"Inception" por @CarlosTheSailor
"Inception" por @CarlosTheSailor
 
"Cómo hicimos la web responsive y accesible de cierto equipo de fútbol y otro...
"Cómo hicimos la web responsive y accesible de cierto equipo de fútbol y otro..."Cómo hicimos la web responsive y accesible de cierto equipo de fútbol y otro...
"Cómo hicimos la web responsive y accesible de cierto equipo de fútbol y otro...
 
"unoStringSynth: hack musical con Arduino" por @unoStringSynth
"unoStringSynth: hack musical con Arduino" por @unoStringSynth"unoStringSynth: hack musical con Arduino" por @unoStringSynth
"unoStringSynth: hack musical con Arduino" por @unoStringSynth
 
"UX en 10 películas" por @nunile
"UX en 10 películas" por @nunile"UX en 10 películas" por @nunile
"UX en 10 películas" por @nunile
 
"Continuous Deployment" por @fredfigueiredo
"Continuous Deployment" por @fredfigueiredo"Continuous Deployment" por @fredfigueiredo
"Continuous Deployment" por @fredfigueiredo
 
"WebView, the fifth element" por @fernando_cejas
"WebView, the fifth element" por @fernando_cejas"WebView, the fifth element" por @fernando_cejas
"WebView, the fifth element" por @fernando_cejas
 
"Pushing the boundaries" por @danielguillan
"Pushing the boundaries" por @danielguillan"Pushing the boundaries" por @danielguillan
"Pushing the boundaries" por @danielguillan
 
"One size fits none" por @martuishere
"One size fits none" por @martuishere"One size fits none" por @martuishere
"One size fits none" por @martuishere
 
"Designing digital products for kids" por @karinai
"Designing digital products for kids" por @karinai"Designing digital products for kids" por @karinai
"Designing digital products for kids" por @karinai
 
"How to write better User Stories" por @jrhuerta
"How to write better User Stories" por @jrhuerta"How to write better User Stories" por @jrhuerta
"How to write better User Stories" por @jrhuerta
 
"GTD & Pomodoro Technique" por @deambulando
"GTD & Pomodoro Technique" por @deambulando"GTD & Pomodoro Technique" por @deambulando
"GTD & Pomodoro Technique" por @deambulando
 
"Esqueuomorfismo: la ruptura de la metáfora" por @omixam
"Esqueuomorfismo: la ruptura de la metáfora" por @omixam"Esqueuomorfismo: la ruptura de la metáfora" por @omixam
"Esqueuomorfismo: la ruptura de la metáfora" por @omixam
 
"The work I love" por @karinai
"The work I love" por @karinai"The work I love" por @karinai
"The work I love" por @karinai
 
"APIS, como reutilizar contenidos en tu web" por @daniel_julia
"APIS, como reutilizar contenidos en tu web" por @daniel_julia"APIS, como reutilizar contenidos en tu web" por @daniel_julia
"APIS, como reutilizar contenidos en tu web" por @daniel_julia
 
"Web performance optimization for everyone" por @abellonch
"Web performance optimization for everyone" por @abellonch"Web performance optimization for everyone" por @abellonch
"Web performance optimization for everyone" por @abellonch
 
"HTML & CSS apps & internet powered TV" por @JeronimJackson
"HTML & CSS apps & internet powered TV" por @JeronimJackson"HTML & CSS apps & internet powered TV" por @JeronimJackson
"HTML & CSS apps & internet powered TV" por @JeronimJackson
 
"Cuadro de mandos para UX. El método HEART" por @galu
"Cuadro de mandos para UX. El método HEART" por @galu"Cuadro de mandos para UX. El método HEART" por @galu
"Cuadro de mandos para UX. El método HEART" por @galu
 
"Wordpress for web designers. What, when, how, where" por @nuriarai
"Wordpress for web designers. What, when, how, where" por @nuriarai"Wordpress for web designers. What, when, how, where" por @nuriarai
"Wordpress for web designers. What, when, how, where" por @nuriarai
 
"Humans.txt" por @JuanjoBernabeu y @lafabricaverde
"Humans.txt" por @JuanjoBernabeu y @lafabricaverde"Humans.txt" por @JuanjoBernabeu y @lafabricaverde
"Humans.txt" por @JuanjoBernabeu y @lafabricaverde
 

Último

La electricidad y la electronica.10-7.pdf
La electricidad y la electronica.10-7.pdfLa electricidad y la electronica.10-7.pdf
La electricidad y la electronica.10-7.pdfcristianrb0324
 
Slideshare y Scribd - Noli Cubillan Gerencia
Slideshare y Scribd - Noli Cubillan GerenciaSlideshare y Scribd - Noli Cubillan Gerencia
Slideshare y Scribd - Noli Cubillan Gerenciacubillannoly
 
Inteligencia Artificial. Matheo Hernandez Serrano USCO 2024
Inteligencia Artificial. Matheo Hernandez Serrano USCO 2024Inteligencia Artificial. Matheo Hernandez Serrano USCO 2024
Inteligencia Artificial. Matheo Hernandez Serrano USCO 2024u20211198540
 
Trabajando con Formasy Smart art en power Point
Trabajando con Formasy Smart art en power PointTrabajando con Formasy Smart art en power Point
Trabajando con Formasy Smart art en power PointValerioIvanDePazLoja
 
Herramientas que posibilitan la información y la investigación.pdf
Herramientas que posibilitan la información y la investigación.pdfHerramientas que posibilitan la información y la investigación.pdf
Herramientas que posibilitan la información y la investigación.pdfKarinaCambero3
 
Análisis de los artefactos (nintendo NES)
Análisis de los artefactos (nintendo NES)Análisis de los artefactos (nintendo NES)
Análisis de los artefactos (nintendo NES)JuanStevenTrujilloCh
 
Viguetas Pretensadas en concreto armado
Viguetas Pretensadas  en concreto armadoViguetas Pretensadas  en concreto armado
Viguetas Pretensadas en concreto armadob7fwtwtfxf
 
La Electricidad Y La Electrónica Trabajo Tecnología.pdf
La Electricidad Y La Electrónica Trabajo Tecnología.pdfLa Electricidad Y La Electrónica Trabajo Tecnología.pdf
La Electricidad Y La Electrónica Trabajo Tecnología.pdfjeondanny1997
 
#Tare10ProgramacionWeb2024aaaaaaaaaaaa.pptx
#Tare10ProgramacionWeb2024aaaaaaaaaaaa.pptx#Tare10ProgramacionWeb2024aaaaaaaaaaaa.pptx
#Tare10ProgramacionWeb2024aaaaaaaaaaaa.pptxHugoGutierrez99
 
Documentacion Electrónica en Actos Juridicos
Documentacion Electrónica en Actos JuridicosDocumentacion Electrónica en Actos Juridicos
Documentacion Electrónica en Actos JuridicosAlbanyMartinez7
 
Modelo de Presentacion Feria Robotica Educativa 2024 - Versión3.pptx
Modelo de Presentacion Feria Robotica Educativa 2024 - Versión3.pptxModelo de Presentacion Feria Robotica Educativa 2024 - Versión3.pptx
Modelo de Presentacion Feria Robotica Educativa 2024 - Versión3.pptxtjcesar1
 
Trabajo de tecnología excel avanzado.pdf
Trabajo de tecnología excel avanzado.pdfTrabajo de tecnología excel avanzado.pdf
Trabajo de tecnología excel avanzado.pdfedepmariaperez
 
certificado de oracle academy cetrificado.pdf
certificado de oracle academy cetrificado.pdfcertificado de oracle academy cetrificado.pdf
certificado de oracle academy cetrificado.pdfFernandoOblitasVivan
 
Red Dorsal Nacional de Fibra Óptica y Redes Regionales del Perú
Red Dorsal Nacional de Fibra Óptica y Redes Regionales del PerúRed Dorsal Nacional de Fibra Óptica y Redes Regionales del Perú
Red Dorsal Nacional de Fibra Óptica y Redes Regionales del PerúCEFERINO DELGADO FLORES
 
Guía de Registro slideshare paso a paso 1
Guía de Registro slideshare paso a paso 1Guía de Registro slideshare paso a paso 1
Guía de Registro slideshare paso a paso 1ivanapaterninar
 
Nomisam: Base de Datos para Gestión de Nómina
Nomisam: Base de Datos para Gestión de NóminaNomisam: Base de Datos para Gestión de Nómina
Nomisam: Base de Datos para Gestión de Nóminacuellosameidy
 
David_Gallegos - tarea de la sesión 11.pptx
David_Gallegos - tarea de la sesión 11.pptxDavid_Gallegos - tarea de la sesión 11.pptx
David_Gallegos - tarea de la sesión 11.pptxDAVIDROBERTOGALLEGOS
 
_Planificacion Anual NTICX 2024.SEC.21.4.1.docx.pdf
_Planificacion Anual NTICX 2024.SEC.21.4.1.docx.pdf_Planificacion Anual NTICX 2024.SEC.21.4.1.docx.pdf
_Planificacion Anual NTICX 2024.SEC.21.4.1.docx.pdfBetianaJuarez1
 
Actividades de computación para alumnos de preescolar
Actividades de computación para alumnos de preescolarActividades de computación para alumnos de preescolar
Actividades de computación para alumnos de preescolar24roberto21
 

Último (20)

La electricidad y la electronica.10-7.pdf
La electricidad y la electronica.10-7.pdfLa electricidad y la electronica.10-7.pdf
La electricidad y la electronica.10-7.pdf
 
Slideshare y Scribd - Noli Cubillan Gerencia
Slideshare y Scribd - Noli Cubillan GerenciaSlideshare y Scribd - Noli Cubillan Gerencia
Slideshare y Scribd - Noli Cubillan Gerencia
 
Inteligencia Artificial. Matheo Hernandez Serrano USCO 2024
Inteligencia Artificial. Matheo Hernandez Serrano USCO 2024Inteligencia Artificial. Matheo Hernandez Serrano USCO 2024
Inteligencia Artificial. Matheo Hernandez Serrano USCO 2024
 
Trabajando con Formasy Smart art en power Point
Trabajando con Formasy Smart art en power PointTrabajando con Formasy Smart art en power Point
Trabajando con Formasy Smart art en power Point
 
Herramientas que posibilitan la información y la investigación.pdf
Herramientas que posibilitan la información y la investigación.pdfHerramientas que posibilitan la información y la investigación.pdf
Herramientas que posibilitan la información y la investigación.pdf
 
El camino a convertirse en Microsoft MVP
El camino a convertirse en Microsoft MVPEl camino a convertirse en Microsoft MVP
El camino a convertirse en Microsoft MVP
 
Análisis de los artefactos (nintendo NES)
Análisis de los artefactos (nintendo NES)Análisis de los artefactos (nintendo NES)
Análisis de los artefactos (nintendo NES)
 
Viguetas Pretensadas en concreto armado
Viguetas Pretensadas  en concreto armadoViguetas Pretensadas  en concreto armado
Viguetas Pretensadas en concreto armado
 
La Electricidad Y La Electrónica Trabajo Tecnología.pdf
La Electricidad Y La Electrónica Trabajo Tecnología.pdfLa Electricidad Y La Electrónica Trabajo Tecnología.pdf
La Electricidad Y La Electrónica Trabajo Tecnología.pdf
 
#Tare10ProgramacionWeb2024aaaaaaaaaaaa.pptx
#Tare10ProgramacionWeb2024aaaaaaaaaaaa.pptx#Tare10ProgramacionWeb2024aaaaaaaaaaaa.pptx
#Tare10ProgramacionWeb2024aaaaaaaaaaaa.pptx
 
Documentacion Electrónica en Actos Juridicos
Documentacion Electrónica en Actos JuridicosDocumentacion Electrónica en Actos Juridicos
Documentacion Electrónica en Actos Juridicos
 
Modelo de Presentacion Feria Robotica Educativa 2024 - Versión3.pptx
Modelo de Presentacion Feria Robotica Educativa 2024 - Versión3.pptxModelo de Presentacion Feria Robotica Educativa 2024 - Versión3.pptx
Modelo de Presentacion Feria Robotica Educativa 2024 - Versión3.pptx
 
Trabajo de tecnología excel avanzado.pdf
Trabajo de tecnología excel avanzado.pdfTrabajo de tecnología excel avanzado.pdf
Trabajo de tecnología excel avanzado.pdf
 
certificado de oracle academy cetrificado.pdf
certificado de oracle academy cetrificado.pdfcertificado de oracle academy cetrificado.pdf
certificado de oracle academy cetrificado.pdf
 
Red Dorsal Nacional de Fibra Óptica y Redes Regionales del Perú
Red Dorsal Nacional de Fibra Óptica y Redes Regionales del PerúRed Dorsal Nacional de Fibra Óptica y Redes Regionales del Perú
Red Dorsal Nacional de Fibra Óptica y Redes Regionales del Perú
 
Guía de Registro slideshare paso a paso 1
Guía de Registro slideshare paso a paso 1Guía de Registro slideshare paso a paso 1
Guía de Registro slideshare paso a paso 1
 
Nomisam: Base de Datos para Gestión de Nómina
Nomisam: Base de Datos para Gestión de NóminaNomisam: Base de Datos para Gestión de Nómina
Nomisam: Base de Datos para Gestión de Nómina
 
David_Gallegos - tarea de la sesión 11.pptx
David_Gallegos - tarea de la sesión 11.pptxDavid_Gallegos - tarea de la sesión 11.pptx
David_Gallegos - tarea de la sesión 11.pptx
 
_Planificacion Anual NTICX 2024.SEC.21.4.1.docx.pdf
_Planificacion Anual NTICX 2024.SEC.21.4.1.docx.pdf_Planificacion Anual NTICX 2024.SEC.21.4.1.docx.pdf
_Planificacion Anual NTICX 2024.SEC.21.4.1.docx.pdf
 
Actividades de computación para alumnos de preescolar
Actividades de computación para alumnos de preescolarActividades de computación para alumnos de preescolar
Actividades de computación para alumnos de preescolar
 

"CSS Preprocessors Time!" por @nahuelsotelo

  • 1. CSS Preprocessors Time! - with SASS, LESS and Stylus - (and Finn and Jake) @nahuelsotelo
  • 2. Hola. Soy Nahuel Sotelo @nahuelsotelo machaco teclados en
  • 3. ¿Qué son? Una forma más eficiente de escribir CSS.
  • 4. ¿Qué son? .scss / .less / .styl COMPILA .css
  • 6. ¿Qué necesito? Un archivo de texto con una extensión determinada (.scss, .less, .styl). Un editor de código que reconozca el lenguaje. Alguna manera de compilarlo en CSS.
  • 7. ¿Qué necesito? Hay varias maneras de compilar: En servidor (ruby) En cliente (JavaScript) En local (Compass, Codekit, Scout, less.app)
  • 8. ¿Qué necesito? Mi recomendación:
  • 9. ¿Qué necesito? Codekit: Compila automáticamente al guardar en tu editor. Puede definirse el nivel de compresión del CSS. Settings por proyecto. Reporta errores. Actualiza los preprocesadores automáticamente. Bonus track: ¡Optimiza Imágenes!
  • 11. Ventajas Mejora el workflow de trabajo. Produce un código más legible y mantenible. Tienen una curva de aprendizaje muy amigable. Prototipado rápido con frameworks como Compass, Bourbon, Foundation o Twitter Bootstrap.
  • 12. Pero no todo es color de rosa
  • 13. Desventajas Si se usan sintaxis extremas luego puede costar volver al CSS normal. En equipos de varias personas, o todos o nadie. Si se trabaja en más de un equipo, todos tienen que tener la misma configuración. Si no se tiene cuidado puede resultar en un código ineficiente. ¡DRY!
  • 15. Variables SCSS: $main: #FF54DC; $sans: Arial, Helvetica, sans-serif; .finn { border: 1px solid $main; color: $main; font-family: $sans; } .jake { background: $main; }
  • 16. Variables CSS: .finn { border: 1px solid #FF54DC; color: #FF54DC; font-family: Arial, Helvetica, sans-serif; } .jake { background: #FF54DC; }
  • 17. Nesting SCSS: .nav { border: 1px solid #666; padding: 1em; li { float: left; a{ text-decoration: none; &:hover { text-decoration: underline; } } } }
  • 18. Nesting CSS: .nav { border: 1px solid #666; padding: 1em; } .nav li { float: left; } .nav li a { text-decoration: none; } .nav li a:hover { text-decoration: underline; }
  • 19. Mixins SCSS: @mixin font($size) { font-size: $size; font-size: $size/16px+0rem; } /* ======================= */ .finn { @include font(14px); }
  • 20. Mixins CSS: .finn { font-size: 14px; font-size: 0.875rem; }
  • 21. Mixins SCSS: @mixin gradient($color1, $color2, $fall, $start, $end) { background: $fall; background-image: -webkit-gradient(linear, left top, left bottom, color-stop($start,$color1), color- stop($end,$color2)); background-image: -webkit-linear-gradient(top, $color1 $start, $color2 $end); background-image: -moz-linear-gradient(top, $color1 $start, $color2 $end); background-image: -ms-linear-gradient(top, $color1 $start, $color2 $end); background-image: -o-linear-gradient(top, $color1 $start, $color2 $end); background-image: linear-gradient(top, $color1 $start, $color2 $end); } /* ======================= */ .finn { @include gradient(red,yellow, orange, 0%,100%); }
  • 22. Mixins CSS: .finn { background: orange; background-image: -webkit-gradient(linear, left top, left bottom, color-stop(0%, red), color- stop(100%, yellow)); background-image: -webkit-linear-gradient(top, red 0%, yellow 100%); background-image: -moz-linear-gradient(top, red 0%, yellow 100%); background-image: -ms-linear-gradient(top, red 0%, yellow 100%); background-image: -o-linear-gradient(top, red 0%, yellow 100%); background-image: linear-gradient(top, red 0%, yellow 100%); }
  • 23. Operaciones con colores SCSS: .a { color: #F00; } .a:hover { color: lighten(#F00, 20%); }
  • 24. Operaciones con colores CSS: .a { color: #F00; } .a:hover { color: #FF6666; }
  • 25. Mates SCSS: .body {   margin: (14px/2);   top: 50px + 100px;   right: 100px - 50px;   left: 10px * 10px; }
  • 26. Mates CSS: .body {   margin: 7px;   top: 150px;   right: 50px;   left: 100px; }
  • 27. Y es sólo la punta del icberg Functions Conditionals Interpolation Grids ...
  • 28. Recursos PREPROCESADORES: • SASS: http://sass-lang.com/ • LESS: http://lesscss.org/ • STYLUS: http://learnboost.github.com/stylus/ HERRAMIENTAS: • CODEKIT: http://incident57.com/codekit/ • SCOUT: http://mhs.github.com/scout-app/ • LESS APP: http://incident57.com/less/
  • 29. Recursos FRAMEWORKS: • COMPASS: http://compass-style.org/ • BOURBON: http://thoughtbot.com/bourbon/ • ZURB FOUNDATION: http://foundation.zurb.com/ • TWITTER BOOTSTRAP: http://twitter.github.com/bootstrap/ GRID SYSTEMS: • SINGULARITY: http://singularity.gs/ • SEMANTIC: http://semantic.gs/ • SUSY: http://susy.oddbird.net/
  • 30. ¡Gracias! Imagenes de Adventure Time cortesía de Google y TM & © 2012 Cartoon Network. A Time Warner Company. All Rights Reserved.