Sponsored Links
-->

Thursday, June 21, 2018

Syntactically Awesome Stylesheets Language. Acronym Sass Of The ...
src: previews.123rf.com

Sass (Syntactically awesome style sheets) is a style sheet language initially designed by Hampton Catlin and developed by Natalie Weizenbaum. 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 preprocessor scripting language that is interpreted or compiled 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" (Sassy CSS), 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. Alternatively, 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 Dart, PHP, and a high-performance implementation in C called libSass. There'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. Sass supports integration with the Firefox extension Firebug.

SassScript provides the following mechanisms: variables, nesting, mixins, and selector inheritance.


Video Sass (stylesheet language)



Variables

Sass allows variables to be defined. Variables begin with a dollar sign ($). Variable assignment is done with a colon (:).

SassScript supports four data types:

  • Numbers (including units)
  • Strings (with quotes or without)
  • Colors (name, or names)
  • Booleans

Variables can be arguments to or results from one of several available functions. During translation, the values of the variables are inserted into the output CSS document.

In SCSS style

Or Sass style

Would compile to:


Maps Sass (stylesheet language)



Nesting

CSS does support logical nesting, but the code blocks themselves are not nested. Sass allows the nested code to be inserted within each other.

In Sass style

or SCSS style

Would compile to:

More complicated types of nesting including namespace nesting and parent references are discussed in the Sass documentation.

Or Sass style

Would compile to:

Loops

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.

The above example would compile to:

Arguments

Mixins also support arguments.

Would compile to:

In combination

Would compile to:


Mixin Is A Little Helper In Coding. Word Mixin Of The Yellow ...
src: us.123rf.com


Selector inheritance

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.

Would compile to:

Sass supports multiple inheritance.


10 Best Tools to Compile SASS, LESS, and Stylus - CSS Preprocessors
src: graygrids.com


libSass

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. Current Sass maintainer, Chris Eppstein, has expressed intent to contribute as well.

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."

The design goals of libSass are:

  • Performance - Developers have reported 10x speed up increases over the Ruby implementation of Sass.
  • Easier integration - libSass makes it easier to integrate Sass into more software. Before libSass, tightly integrating Sass into a language or software product required bundling the entire Ruby interpreter. By contrast, libSass is a statically linkable library with zero external dependencies and C-like interface, making it easy to wrap Sass directly into other programming languages and tools. For example, open source libSass bindings now exist for Node, Go, and Ruby.
  • Compatibility - libSass's goal is full compatibility with the official Ruby implementation of Sass; however, this goal has not yet been fully met.

Pluralsight A Better SASS 1 - YouTube
src: i.ytimg.com


IDE integration


Sass(SCSS) Tutorials for beginners in Urdu-2:installation of Sass ...
src: i.ytimg.com


See also

  • Less (stylesheet language)
  • Stylus (stylesheet language)

Busy
src: steemitimages.com


References


Sass is not cool more รข€
src: st2.depositphotos.com


External links

  • Official website
  • Haml/Sass Google Group
  • pyScss, a Python Scss library and client
  • Sai the mixins extension and CSS authoring framework for Less & Sass/Scss (Git)
  • Sass tools and resources

Source of article : Wikipedia