Responsive layouts in stylus
-
There is no
span1..15
styles, instead your css defines your layout and your html remains semantic and not polluted with display information. As it should be. -
The markup is incredibly easy, you specify the wrappers width, and then each columns width in percentages. Every other grid framework I've found is incredibly complicated with this.
-
It allows you to have the exact same markup, and completely different styles for different devices, resolutions, stylesheets, whatever. As it should be.
-
Did I mention it's as it should be, and incredibly simple?
-
Specify your wrapper width by doing
wrapper(100%)
to take up 100% of the space,wrapper(50%)
to take up only 50% of the space - or whatever -
Specify how many columns should be on a row by doing:
column(); width: (100%/4)
for 4 columns on a row, orcolumn(); width: (100%/8)
for 8 columns on a row, orcolumn(); width: (100%/1)
for one column on a row - or whatever -
Pretty easy right, you just specify how big the wrapper should be, how many columns in a row, and it will automatically adjust as your browser resizes. Awesome.
-
Then on smaller screen sizes, perhaps instead of displaying something with 8 rows, we want 4 rows instead, then on a very small screen size, 1 row instead. We can specify that pretty easily with this too. (See example).
-
We also have an awesome resizing transition when they resize their browser to make the re-adjustment of the grid very smooth.
- LessCSS is good, until you try to actually use it (sooo many bugs)
- Stylus is new, stable, and beautiful
- Provide a working demo of this in action
I love using stylus in DocPad, you just write your stylus files as src/documents/my-stylus-file.css.styl
and it will automatically convert it to out/my-stylus-file.css
for you. It also supports this same functionality for coffee-script, coffeekup, jade, haml, less, sass, whatever really.
Created by Benjamin Lupton and licensed under the Creative Commons Zero License
@chriseppstein definitely is! simple but clever