Sass (stylesheet language)

From Wiki @ Karl Jones dot com
Revision as of 11:28, 11 September 2015 by Karl Jones (Talk | contribs)

Jump to: navigation, search

Sass (Syntactically Awesome Stylesheets) is a stylesheet language initially designed by Hampton Catlin and developed by Natalie Weizenbaum.

(TO DO: expand, organize, cross-reference, illustrate.)

Description

After its initial versions, Weizenbaum and Chris Eppstein have continued to extend Sass with SassScript, a simple scripting language used in Sass files.

Sass is a scripting language that is interpreted into Cascading Style Sheets (CSS).

SassScript is the scripting language itself. Sass consists of two syntaxes.

The original syntax, called "the indented syntax", uses a syntax similar to Haml.

It uses indentation to separate code blocks and newline characters to separate rules.

The newer syntax, "SCSS", uses block formatting like that of CSS.

It uses braces to denote code blocks and semicolons to separate lines within a block.

The indented syntax and SCSS files are traditionally given the extensions .sass and .scss respectively.

CSS3 consists of a series of selectors and pseudo-selectors that group rules that apply to them.

Sass (in the larger context of both syntaxes) extends CSS by providing several mechanisms available in more traditional programming languages, particularly object-oriented languages, but that are not available to CSS3 itself.

When SassScript is interpreted, it creates blocks of CSS rules for various selectors as defined by the Sass file.

The Sass interpreter translates SassScript into CSS.

Alternately, Sass can monitor the .sass or .scss file and translate it to an output .css file whenever the .sass or .scss file is saved.

Sass is simply syntactic sugar for CSS.

The official implementation of Sass is open-source and coded in Ruby. However, other implementations exist, including PHP, and a high-performance implementation in C called libSass.

There is s also a Java implementation called JSass.

Additionally, Vaadin has a Java implementation of Sass.

The indented syntax is a metalanguage. SCSS is a nested metalanguage, as valid CSS is valid SCSS with the same semantics.

Firebug integration

Sass supports integration with the Firefox extension Firebug.

Features

SassScript provides the following features:

  • Variables
  • Nesting
  • Mixins
  • Selector inheritance

See also

External links