nuestro jefe/diseñador/cliente:
Una mañana se levanta y nos dice:
-he tenido una premonición, seguro que si le cambiamos los colores a los botones y títulos de nuestra web por un turquesa-verde-acuoso nos llegarán más visitas según un estudio que hicieron en la Universidad de Villarriba.
¿Puedes probarlo para ver como queda?
Para ser un lenguaje con suficiente edad aun le faltan muchas de las características básicas que debe tener para que su uso sea más amigable y usable.


CSS nos hace monos repitiendo cosas constantemente
a.boton{font-size: 16px;color: black;border: 1px solid #00ffcc;display: inline-block;vertical-align: top;}span.boton{font-size: 16px;color: red;border: 1px solid #00ffcc;display: inline-block;vertical-align: top;}
#header{max-width: 1200px;}a.boton{-webkit-border-radius: 5px;-moz-border-radius: 5px;border-radius: 5px;color: #00ffcc;}#menu{max-width: 1200px;}
Sí, todo el mundo está de acuerdo en que CSS3 es la caña de España, todos menos los navegadores, que cada uno implementa las cosas con su motor interno. De ahí el uso obligatorio de prefijos.
//Es asía.boton{-webkit-border-radius: 5px;-moz-border-radius: 5px;border-radius: 5px;}span.sombra{-webkit-box-shadow: 1px 1px 0.5em #fff;-mox-box-shadow: 1px 1px 0.5em #fff;box-shadow: 1px 1px 0.5em #fff;}
//Lo que debería ser asía.boton{border-radius: 5px;}span.sombra{box-shadow: 1px 1px 0.5em #fff;}


body{font: 12px Arial;background-color:white;}a.button{-webkit-border-radius: 5px;-moz-border-radius: 5px;border-radius: 5px;}a.button span{color: green;}a.button span strong{text-decoration: underline;}
bodyfont 12px Arialbackground-color whitea.buttonborder-radius 5pxspancolor grennstrongtext-decoration underline
body.contacto .direccion p, body.contacto .direccion div, body.contacto .direccion h5{font-style: normal;}body.contacto.direccionpdivh5font-style normal
a.botoncolor blackspantext-decoration underline&:hovercolor yellowspantext-decoration none+
a.boton{color: black;}a.boton span{text-decoration: underline;}a.boton:hover{color: yellow;}a.boton:hover span{text-decoration: none;}
Como todo lenguaje decente el uso de variables
nos servirá para poder ser utilizadas
en cualquier parte de nuestro código.
body{font: 16px Arial, sans-serif;}
T_Base = 16pxT_Grande = 18pxT_Pequeño = 14pxbodyfont T_Base Arial, sans-serif
w=500pxh=200pxdiv.loginwidth wheight hmargin-left -w/2margin-top -h/2pwidth w/4
div.loginposition absolutetop 50%left 50%width 500pxheight 200pxmargin-left -(@width/2)margin-top -(@height/2)
+
#888 + #111// => #0f0
#888 + 50%// => #444
red(#c00)// => 204green(#0c0)// =>204
darken(#D62828, 30%)// => #551010
lighten(#2c2c2c, 30%)// => #393939
invert(#d62828)// => #29d7d7
Hay que tener en cuenta que las funciones en
stylus siempre devuelven un valor, no como en algunos
lenguajes de programación, esto nos servirá para identificarlas
y no confundirlas con un Mixin
Las funciones se pueden reutilizarsuma(a,b)a+bresta(a,b)a-bcompare(a,b)if a > bhigherelse if a < blowerelseequal
Los mixins se parecen a las funciones y permiten cualquier número de argumentos o el tipo de argumentos especial args...
¿Para qué?
#login{-webkit-box-shadow: 1px 2px 5px #eee;-moz-box-shadow: 1px 2px 5px #eee;box-shadow: 1px 3px 5px #eee;}
box-shadow(args...)-webkit-box-shadow args-moz-box-shadow argsbox-shadow args#loginbox-shadow 1px 2px 5px #eee
Para instalar Stylus debemos tener instalado previamente Node.js
pero eso no debe asustar. Es auto instalable.
http://nodejs.org
$ (sudo) npm install -g stylus
$ stylus stilo.styl
$ stylus -w estilo.styl
$ stylus -c -w estilo.styl





