19/06/2013

Estilos más simples con Stylus, un preprocesador de CSS

Estilos más simples con Stylus, un preprocesador de CSS

El lenguaje CSS ayuda a definir la presentación visual de los elementos de una página escrita en un lenguaje de marcas (como HTML). Sin una hoja de estilos en cascada, especificar el aspecto de un sitio web sería muy engorroso. Pero, por otra parte, la sintaxis de CSS presenta algunas limitaciones:

  • No permite definir variables. Si necesitamos utilizar varias veces un mismo valor para distintas propiedades, nos veremos obligados a copiarlo y pegarlo cada vez.
  • No permite reutilizar una regla entera como parte de otra regla.
  • La herencia entre elementos puede resultar confusa.

Por suerte, existen herramientas que resuelven estos problemas. Un preprocesador de CSS nos permite escribir hojas de estilo con una sintaxis mejorada y las «traduce» al CSS oficial para que puedan ser interpretadas por un browser. El navegador no encontrará dificultades, ya que accederá a un documento compilado con la sintaxis normal.

Recientemente mencionamos LESS y Sass, pero hay otras opciones. Con Stylus podemos utilizar variables e incluso mixins, para invocar reglas enteras desde otra regla. Incluso podemos asignar valores nuevos a las propiedades de la regla invocada a través del pasaje de parámetros. Es decir, las reglas se comportan como procedimientos. De esta manera, reutilizamos código y ahorramos tiempo.

Pero Stylus va más allá y ofrece funciones para operaciones aritméticas y manipulación de colores, entre otras. También podemos definir funciones propias. Además, la sintaxis es mucho más limpia. En vez de escribir

body {
    color: #fff;
}

… podemos escribir

body
    color white

… y Stylus lo compilará al formato convencional.

Este sistema también simplifica la herencia entre selectores: si queremos definir el estilo de un elemento dentro de otro, en vez de escribir

#wrapper-principal p a {
…}

podemos escribir

#wrapper-principal
    p
        a
        …

Sin embargo, para que Stylus nos ahorre tiempo debemos conocer a fondo la sintaxis convencional de CSS. Además, sólo es aconsejable para un proyecto que se maquetará desde cero. Si la necesidad es incorporar reglas a una hoja de estilos ya existente, Stylus puede entorpecer el proceso.

0

angularjs Aplicaciones en Facebook aplicaciones mobile behavioral targeting Botones Call-to-action breadcrumbs breadcrumbs web búsqueda de personal búsqueda facetada Call-to-action buttons Client-side cliente-destacado cms a medida coding comercio electrónico content marketing CSS3 PIE cuanto debe pesar un sitio data-driven web design Datos estructurados Defacement Denegación de servicio Desarrollar una aplicación web desventajas de PhoneGap diseñar newsletters diseño web diseño web argentina diseño web esqueuomórfico Diseño web responsive Diseño web responsivo diseño web santa fe diseño web Smart TV diseño web televisores DOM desde PHP enlaces rotos filtros de búsqueda flash flat web design formularios sitio web fragmentos enriquecidos función de autocompletar futuro de la realidad aumentada html HTML5 html5shiv inbound marketing Initializr interfaces Web para televisores javascript jobs jQuery Mobile Mapbox maquetado html/css maquetador web masonry layout menú de navegación menú desplegable Metodologías ágiles Modernizr MVC Navegación por teclado oferta laboral OpenStreetMap paginas de Facebook Paper js Paper js framework personas Phishing plan de QA Polyfills polymer portfolio-destacados portfolio-inicio programacion de CMS Programadores WordPress página de contacto página de error 404 que es Backbone.js Realidad aumentada Resultados instantáneos server-side skeuomorphic design sliders y usabilidad soporte Internet Explorer Storytelling Underscores usabilidad usabilidad buscadores user-centered design ux velocidad de carga web Vendor prefixes ventajas jQuery Mobile Ventanas integradas versiones antiguas de Internet Explorer WAI-ARIA web components web imprimible Web Semántica WordPress para ecommerce