Sass was initially designed by Hampton Catlin and developed by Natalie Weizenbaum.78
SassScript was implemented in multiple languages, the noteworthy implementations are:
Sass allows variables to be defined. Variables begin with a dollar sign ($). Variable assignment is done with a colon (:).22
SassScript supports four data types:23
Variables can be arguments to or results from one of several available functions.24 During translation, the values of the variables are inserted into the output CSS document.25
CSS does support logical nesting, but the code blocks themselves are not nested. Sass allows the nested code to be inserted within each other.26
More complicated types of nesting including namespace nesting and parent references are discussed in the Sass documentation.27
Sass allows for iterating over variables using @for, @each and @while, which can be used to apply different styles to elements with similar classes or ids.
Mixins also support arguments.28
While CSS3 supports the Document Object Model (DOM) hierarchy, it does not allow selector inheritance. In Sass, inheritance is achieved by inserting a line inside of a code block that uses the @extend keyword and references another selector. The extended selector's attributes are applied to the calling selector.29
Sass supports multiple inheritance.30
At the 2012 HTML5 Developer Conference, Hampton Catlin, the creator of Sass, announced version 1.0 of libSass, an open source C++ implementation of Sass developed by Catlin, Aaron Leung, and the engineering team at Moovweb.3132
According to Catlin, libSass can be "drop[ped] into anything and it will have Sass in it...You could drop it right into Firefox today and build Firefox and it will compile in there. We wrote our own parser from scratch to make sure that would be possible."33
The design goals of libSass are:
Media Mark (3.2.12). "Sass - Syntactically Awesome Stylesheets". Sass-lang.com. Retrieved 2014-02-23.{{cite web}}: CS1 maint: numeric names: authors list (link) http://sass-lang.com/ ↩
Firtman, Maximiliano (2013-03-15). Programming the Mobile Web. O'Reilly Media, Inc. ISBN 978-1-4493-3497-0. 978-1-4493-3497-0 ↩
Libby, Alex (2019). Introducing Dart Sass: A Practical Introduction to the Replacement for Sass, Built on Dart. Berkeley, CA: Apress. doi:10.1007/978-1-4842-4372-5. ISBN 978-1-4842-4371-8. 978-1-4842-4371-8 ↩
Sass - Syntactically Awesome Stylesheets Archived 2013-10-09 at the Wayback Machine Tutorial http://sass-lang.com/tutorial.html ↩
"Sass: Syntactically Awesome Style Sheets". sass-lang.com. Archived from the original on 2013-09-01. https://web.archive.org/web/20130901145805/http://sass-lang.com/about.html ↩
"Natalie Weizenbaum's blog". Archived from the original on 2007-10-11. https://web.archive.org/web/20071011121541/http://nex-3.com/ ↩
"Sass / Scss". Drupal.org. 2009-10-21. Archived from the original on 2016-03-10. Retrieved 2014-02-23. https://web.archive.org/web/20160310210318/https://www.drupal.org/project/sass ↩
"sass". www.npmjs.com. https://www.npmjs.com/package/sass ↩
"sass-embedded". www.npmjs.com. https://www.npmjs.com/package/sass-embedded ↩
Weizenbaum, Natalie. "Ruby Sass Has Reached End-Of-Life « Sass Blog". sass.logdown.com. Retrieved 2019-04-21. http://sass.logdown.com/posts/7828841-ruby-sass-is-unsupported ↩
"Sass: Ruby Sass". sass-lang.com. Retrieved 2019-04-21. https://sass-lang.com/ruby-sass ↩
"LibSass is Deprecated". sass-lang.com. 26 October 2020. https://sass-lang.com/blog/libsass-is-deprecated ↩
"node-sass". www.npmjs.com. https://www.npmjs.com/package/node-sass ↩
"jsass - A Java implementation of the Sass compiler (and some other goodies). - Google Project Hosting". Retrieved 2014-02-23. https://code.google.com/p/jsass/ ↩
"JSass documentation". jsass.readthedocs.io. https://jsass.readthedocs.io/en/latest/ ↩
"SassCompiler (Vaadin 7.0.7 API)". Vaadin.com. 2013-06-06. Archived from the original on 2014-04-21. Retrieved 2014-02-23. https://web.archive.org/web/20140421052745/https://vaadin.com/api/7.0.7/com/vaadin/sass/SassCompiler.html ↩
Sass (Syntactically Awesome StyleSheets) SASS_REFERENCE http://sass-lang.com/docs/yardoc/file.SASS_REFERENCE.html ↩
Module: Sass::Script::Functions Sass Functions http://sass-lang.com/docs/yardoc/Sass/Script/Functions.html ↩
H. Catlin (2012-10-15). "Hampton's 6 Rules of Mobile Design". HTML5 Developer Conference. Archived from the original on 2021-12-15. Retrieved 2013-07-11. https://www.youtube.com/watch?v=j75-SslllvY&feature=player_detailpage#t=1831s ↩
M. Catlin (2012-04-30). "libsass". Moovweb Blog. Archived from the original on 2013-05-08. Retrieved 2013-07-11. https://web.archive.org/web/20130508080521/http://blog.moovweb.com/2012/04/libsass/ ↩
A. Stacoviak & A. Thorp (2013-06-26). "Sass, libsass, Haml and more with Hampton Catlin". Archived from the original on 2013-08-06. Retrieved 2013-07-30. https://web.archive.org/web/20130806073554/http://5by5.tv/changelog/94 ↩
D. Le Nouaille (2013-06-07). "Sassc and Bourbon". Retrieved 2013-07-11. http://www.damln.com/log/sassc-and-bourbon-it-works/ ↩
"Sass Compatibility". sass-compatibility.github.io. Archived from the original on 2019-12-05. Retrieved 2019-11-29. https://web.archive.org/web/20191205161602/http://sass-compatibility.github.io/ ↩