Need advice about which tool to choose?Ask the StackShare community!

Compass

354
297
+ 1
12
Sass

43.4K
32.2K
+ 1
3K
Stylus

440
411
+ 1
331

Compass vs Sass vs Stylus: What are the differences?

  1. File Extension Handling: Compass is an extension of Sass, offering additional features like mix-ins and functions whereas Sass is a preprocessor scripting language that will be compiled into CSS. Stylus, on the other hand, uses an indentation-based syntax instead of braces which makes the code cleaner and more concise.

  2. Syntax Differences: Compass provides mixins, functions, and other features that make writing styles easier and quicker. Sass follows strict indentation rules to define nesting while Stylus allows optional braces and semicolons to make code more readable and concise.

  3. Community and Adoption: Compass has a larger community and ecosystem with a lot of resources and third-party plugins available. Sass has been widely adopted by developers due to its powerful features and CSS-like syntax. Stylus has a smaller community but is known for its flexibility and customizable nature.

  4. Ease of Learning Curve: Compass, being an extension of Sass, might have a steeper learning curve for beginners due to its additional features. Sass, while powerful, has a straightforward syntax and is easier to grasp. Stylus, with its minimalistic approach, has a shorter learning curve and is preferred by developers looking for a simpler language.

  5. Performance and Compilation: Compass, being built on top of Sass, might have a slightly longer compilation time due to the additional features it offers. Sass has efficient compilation processes and can generate clean, optimized CSS output. Stylus is known for its fast compilation speed and lightweight syntax, making it a preferred choice for projects where performance is crucial.

  6. Flexibility and Extensibility: Compass offers a wide range of ready-to-use mixins and functions, making it easy to extend and customize stylesheets. Sass allows for the creation of custom functions and mixins, providing flexibility in writing and managing styles. Stylus, with its open architecture, allows developers to easily create plugins and extend its functionality.

In Summary, differences between Compass, Sass, and Stylus lie in file extension handling, syntax, community adoption, learning curve, performance, and flexibility of customization.

Advice on Compass, Sass, and Stylus
awesomebanana2018
Needs advice
on
PostCSSPostCSSSassSass
and
StylusStylus

Originally, I was going to start using Sass with Parcel, but then I learned about Stylus, which looked interesting because it can get the property values of something directly instead of through variables, and PostCSS, which looked interesting because you can customize your Pre/Post-processing. Which tool would you recommend?

See more
Replies (2)
Recommends
on
PostCSSPostCSS

You're not correct with saying "vs Postcss". You're using Less/Sass/Stylus/... to produce "CSS" (maybe extended means it has some future features) and then in any case PostCSS will play (it is shipped with Parcel/NextJS/CRA/...)

See more
Decisions about Compass, Sass, and Stylus
Noel Broda
Founder, CEO, CTO at NoFilter · | 2 upvotes · 16K views

We know that Sass is not a replace for CSS, but in my mind there is no CSS with no Sass.

One of the first complement/plugins I add to the environment, are the Sass processing files/demons.

I couldn't imagine going back to pure CSS. Sass is even the way to go, regarding Styled Components, CSS Modules, and all the other options.

See more
Cory Bell

JSS is makes a lot of sense when styling React components and styled-components is a really nice implementation of JSS. I still get to write pure CSS, but in a more componentized way. With CSS post-processors like SASS and LESS, you spend a lot of time deciding where your .scss or .less files belong, which classes should be shared, and generally fighting the component nature of React. With styled-components, you get the best of CSS and React. In this project, I have ZERO CSS files or global CSS classes and I leverage mixins quite a bit.

See more
Manage your open source components, licenses, and vulnerabilities
Learn More
Pros of Compass
Pros of Sass
Pros of Stylus
  • 9
    No vendor prefix CSS pain
  • 1
    Mixins
  • 1
    Variables
  • 1
    Compass sprites
  • 613
    Variables
  • 594
    Mixins
  • 466
    Nested rules
  • 410
    Maintainable
  • 300
    Functions
  • 149
    Modular flexible code
  • 143
    Open source
  • 112
    Selector inheritance
  • 107
    Dynamic
  • 96
    Better than cs
  • 5
    Used by Bootstrap
  • 3
    If and for function
  • 2
    Better than less
  • 1
    Inheritance (@extend)
  • 1
    Custom functions
  • 69
    Simple
  • 54
    Indented syntax
  • 38
    Efficient
  • 33
    Built for node.js
  • 32
    Open source
  • 24
    Expressive
  • 21
    Maintainable
  • 17
    Feature-rich
  • 13
    Better than CS
  • 6
    Variables
  • 5
    Functions
  • 3
    @extend directive
  • 2
    Contempt for curly brackets
  • 2
    Very clean
  • 2
    Mixins
  • 2
    Is Easy
  • 2
    No colons, semi-colons or even curly braces
  • 1
    Its unique
  • 1
    Dynamic selectors
  • 1
    Scriptable
  • 1
    Easy Efficiently
  • 1
    Transparent
  • 1
    Supports orthogonal architecture

Sign up to add or upvote prosMake informed product decisions

Cons of Compass
Cons of Sass
Cons of Stylus
    Be the first to leave a con
    • 6
      Needs to be compiled
      Be the first to leave a con

      Sign up to add or upvote consMake informed product decisions

      What is Compass?

      The compass core framework is a design-agnostic framework that provides common code that would otherwise be duplicated across other frameworks and extensions.

      What is Sass?

      Sass is an extension of CSS3, adding nested rules, variables, mixins, selector inheritance, and more. It's translated to well-formatted, standard CSS using the command line tool or a web-framework plugin.

      What is Stylus?

      Stylus is a revolutionary new language, providing an efficient, dynamic, and expressive way to generate CSS. Supporting both an indented syntax and regular CSS style.

      Need advice about which tool to choose?Ask the StackShare community!

      What companies use Compass?
      What companies use Sass?
      What companies use Stylus?

      Sign up to get full access to all the companiesMake informed product decisions

      What tools integrate with Compass?
      What tools integrate with Sass?
      What tools integrate with Stylus?

      Sign up to get full access to all the tool integrationsMake informed product decisions

      Blog Posts

      JavaScriptGitHubGit+33
      20
      2240
      Jun 19 2015 at 6:37AM

      ReadMe.io

      JavaScriptGitHubNode.js+25
      12
      2636
      What are some alternatives to Compass, Sass, and Stylus?
      Cherokee
      Cherokee is highly efficient, extremely lightweight and provides rock solid stability. Among its many features there is one that deserves special credit: a user friendly interface called cherokee-admin that is provided for a no-hassle configuration of every single feature of the server.
      Protractor
      Protractor is an end-to-end test framework for Angular and AngularJS applications. Protractor runs tests against your application running in a real browser, interacting with it as a user would.
      JavaScript
      JavaScript is most known as the scripting language for Web pages, but used in many non-browser environments as well such as node.js or Apache CouchDB. It is a prototype-based, multi-paradigm scripting language that is dynamic,and supports object-oriented, imperative, and functional programming styles.
      Python
      Python is a general purpose programming language created by Guido Van Rossum. Python is most praised for its elegant syntax and readable code, if you are just beginning your programming career python suits you best.
      Node.js
      Node.js uses an event-driven, non-blocking I/O model that makes it lightweight and efficient, perfect for data-intensive real-time applications that run across distributed devices.
      See all alternatives