Everyone should use Compass

Everyone should use Compass for their CSS, that is all.

A few reasons:

  • Allows you to better organise your CSS files and then compiles them for production as for performance
  • Use nested rules, variables, mixins, selector inheritance if those are to your liking - These will become native eventually but you can use them now with a precompiler
  • use CSS3 features without writing vendor prefixes by hand
  • Generates CSS in the background as you make changes so you don’t need to force it to compile
  • Sprites have never been easier
  • Validates your CSS and spits errors at you
  • Insanely great utilities

Oh man. You are such a glutton for punishment. Too bad there are no popcorn icons.

I do use scss and it helps. My css really doesn’t need the power of compass though it is nice to know it is available. If I ever get the urge to do a rounded corner then I am ready. Though I do wonder if anyone has ever actually compared rounded vs square corners in terms of generated revenue.

Maybe we should start a contest: What will the web pages of 2022 look like?

Why would I get punished for sharing a tool that I’ve found amazing?

Sure, some people like @ds will trash it but there’s nothing new there.
I’d be surprised to hear if anyone has used compass and decided it’s not for them. Most of the features I like are in SASS alone, compass is just a convenience wrapper around that and a bunch of other utilities.

Eclipse: everyone should use it. That is all.

It does everything for you. It organises your files. It completes your code. It has a bazillion plugins. It does windows and cooks for wee orphans.

Hey, I like vi and I like mutt and I like Linux, but I don’t tell everyone to use them. Oh wait, I do, but that’s because I’m a one-way-is-best hipster, brah.

I don’t worry about compiling my CSS, because my CSS isn’t a file that compiles-- and with sshfs, my changes are live. I don’t have a problem organising my CSS files because if I have more than 2 or three, I’m doing something wrong. I don’t worry about CSS3 vendor prefixes-- these are always for pretty extras and never for functionality, which is great for graceful degradation. I don’t worry about having to “Use nested rules, variables, mixins, selector inheritance” because I’m not at a point where I need to add complications to my CSS. Sprites have not yet been a problem, mostly because in most instances they can’t scale with the text (not really, they just get mondo-blurry in browsers who zoom, and just plain break in browsers who don’t)… and if I did hate making sprites, there’s sprite-cow or something similar. There is a CSS validator online by the W3C already that I can use and it spits out errors at me. If I needed utilities I’d at least be already using the bazillions of vim plugins out there first.

None of the above is saying “don’t use Compass”, it’s just that I would rather hear someone say “look at these advantages I got when I started using Compass” rather than “everyone should use compass”. Everyone? Since when did one size fit all?

EVERYONE SHOULD WEAR CROCS

None of the above is saying “don’t use Compass”, it’s just that I would rather hear someone say “look at these advantages I got when I started using Compass” rather than “everyone should use compass”. Everyone? Since when did one size fit all?


If I’m curt with you it’s because time is a factor. I think fast, I talk fast and I need you guys to act fast if you wanna get out of this. So, pretty please… with sugar on top. Use Compass.

I don’t worry about compiling my CSS, because my CSS isn’t a file that compiles-- and with sshfs, my changes are live. I don’t have a problem organising my CSS files because if I have more than 2 or three, I’m doing something wrong. I don’t worry about CSS3 vendor prefixes-- these are always for pretty extras and never for functionality, which is great for graceful degradation. I don’t worry about having to “Use nested rules, variables, mixins, selector inheritance” because I’m not at a point where I need to add complications to my CSS. Sprites have not yet been a problem, mostly because in most instances they can’t scale with the text (not really, they just get mondo-blurry in browsers who zoom, and just plain break in browsers who don’t)… and if I did hate making sprites, there’s sprite-cow or something similar. There is a CSS validator online by the W3C already that I can use and it spits out errors at me. If I needed utilities I’d at least be already using the bazillions of vim plugins out there first.

The thing compass does is replace all of those with one component that’s ludicrously simple to use.

upboats for the wolf

The thing compass does is replace all of those with one component that’s ludicrously simple to use.

It adds layers of noesnecessario on top of what I’m currently working with. Someone with a workflow like oddz has would likely actually get all the benefits of the extra layer.

Now show me your Crocs. I’m curious what colour they are

It adds layers of noesnecessario on top of what I’m currently working with.

Sure, Anything more than notepad is not necessary. But, better tools enable you to be more productive.
You only need to use what you want - it’s really not complicated yo use.

Steve Jobs would say you need to try new things and have a wider range of experiences.

I have been developing some products with Sencha Touch 2 and the only reason I initially installed compass was for the command line compiler. Other than that I haven’t found much of a use for the compass library mixins. Though I will say sass is nice as a whole. Being able to use variables, nested rules, inheritance, functions (mixins), simple control structures and loops is pretty nice. In context of Sencha Touch 2 being able to change a few variables and completely change the theme is quit cool which would not be possible without something like sass. I wish bootstrap would have been built on sass because less is so much less powerful. Not to mention the sass documentation is much more thorough than less.

Exhortations of “everyone should” do whatever don’t tend to go over very well. I get it, Compass is da bomb for you and you’re recommending it. Absolutely, recommend away, and tell why it’s so good. But don’t be surprised when folks like Poes

Off Topic:

it’s so damn good to see you in the forums, lady cat

and others give some blowback in return. Nothing is for everyone, except air and maybe chocolate cake.

[ot]

Speak for yourself, mortal.[/ot]

Personally i love the concept of CSS pre-processors but they should NEVER be used other then a local development tool, all CSS processing should be done by the browser using a plain old .css file that has already been compiled and ready to use. Using a pre-processor on either the server or in the browser is just more memory usage you don’t need to use and slows down performance, a good example of this in compass is the ability to tap into the JavaScript engine and retrieve information about the window but when you get down to performance your way better of using a compiled CSS file and vanilla JS by itself.

Now I’m not saying everyone is going to follow my words but as a LESS CSS user i don’t rely on browser side parsing as i found performance to be far slower then compiling it using an app such as SimpLess, Live Reload or Less.app for the Mac, sure you may say that it’s still a CSS file that has no extra abilities but the fact remains the same in the end that pre-processing every time a user visits the page is extremely bad for performance and the user experience.

Just my 2 cents.

but they should NEVER be used other then a local development tool, all CSS processing should be done by the browser using a plain old .css file that has already been compiled and ready to use.

This is a good point however I’m sure markbrown is doing everything on the server when things are as he wants it, and is just sending a regular (and cacheable) .css file to the client.

If your caching the file then that’s fine but a lot of users will just instead Node.js and have no clue what they are doing or how to use caching, i still firmly believe that although Node.js as a compiler is a great tool it’s a waste of server memory because your essentially doing the same thing you can easily do on your desktop once and not have to worry about until the next update.

I’m using compass for completely static sites as well, it watches for changes and compiles to .css during development long before it reaches the server.

One of the nice things that is worth mentioning in regards to the less and sass compilers is both will aggregate and compress CSS. Unlike a traditional set-up you would either need to keep all the styles in a single file, use copy and paste into a single file (which is tedious) or create your own aggregation script. With the sass and less compilers it is all taken care of for you!

And hey, the TWIG template processor can be setup to automatically invoke sass when appropriate. Though this still seems to be broke on windows.