Sass (Stylesheet-Sprache)

aus Wikipedia, der freien Enzyklopädie
Wechseln zu: Navigation, Suche

Vorlage:Infobox Dateiformat/Wartung/MIME fehltVorlage:Infobox Dateiformat/Wartung/MagischeZahl fehltVorlage:Infobox Dateiformat/Wartung/Standard fehlt

Sass
Dateiendung: .sass
Entwickelt von: Hampton Catlin (Design), Nathan Weizenbaum, Chris Eppstein
Erstveröffentlichung: 2007
Aktuelle Version: 3.1.16 (Stand: 2012-04-20)
Art: Auszeichnungssprache
Website: http://sass-lang.com/ sass-lang.com

Sass (Syntactically Awesome Stylesheets) ist eine Stylesheet-Sprache, die ursprünglich von Hampton Catlin entworfen und von Nathan Weizenbaum entwickelt wurde. Sie wird am besten als Meta-Sprache für CSS beschrieben, was bedeutet, dass CSS-Code abstrahiert wird, um einfachere Stylesheet-Dateien zu kreieren. Nach der Fertigstellung der initialen Version haben Nathan Weizenbaum und Chris Eppstein die Arbeit zur Erweiterung von Sass fortgesetzt und SassScript, eine einfache Scriptsprache zum Gebrauch innerhalb von Sass-Dateien, hinzugefügt. Sass wird üblicherweise gemeinsam mit Haml eingesetzt und ist von CSS, YAML und Haml beeinflusst. Die Software ist für viele Plattformen verfügbar und wird unter der MIT Lizenz verbreitet.

Inhaltsverzeichnis

[Bearbeiten] Merkmale

[Bearbeiten] Geschachtelte Regeln

Eines der Schlüsselmerkmale sind verschachtelte Regeln (nested rules). Durch diese ist es einfach, komplizierte geschachtelte Selektoren zu lesen und zu schreiben.

#header
  background: #FFFFFF   
  /* -or-  :background #FFFFFF

  .error
    color: #FF0000

  a
    text-decoration: none
    &:hover
      text-decoration: underline

Dies wird kompiliert zu:

#header {
  background: #FFFFFF;
}
#header .error {
  color: #FF0000;
}
#header a {
  text-decoration: none
}
#header a:hover {
  text-decoration: underline
}

[Bearbeiten] Nutzung von Variablen

Sass fügt Konstanten und Mixins zu CSS hinzu. Dies erleichtert es, Werte über eine größere Menge von Styles konsistent zu halten. Konstanten erlauben es, einen Wert zu setzen und in allen Styles zu verwenden, während Mixins diese Idee für einen Block von Style-Attributen umsetzen.

$link_color: #00F

a
  :color = $link_color

Wird kompiliert zu

a {
  color: #00F
}

[Bearbeiten] SCSS Syntax

Neben der oben beschriebenen SASS-Syntax verfügt SASS über die neuere, und heute weiter verbreitete SCSS-Syntax. Hier ist für die Verschachtelung der Selektoren nicht die Einrückung des Quelltextes ausschlaggebend, sondern wie in der 'klassischen' CSS-SChreibweise die geschweiften Klammern. Weiterhin sind auch Semikolons am Ende von Regeln wieder nötig.

[Bearbeiten] Codevergeleich

[Bearbeiten] SASS

$meineFarbe: #3bbfce

.navigation
  border-color: $meineFarbe
  color: darken($meineFarbe, 9%)

[Bearbeiten] SCSS

$meineFarbe: #3bbfce;

.navigation {
  border-color: $meineFarbe;
  color: darken($meineFarbe, 9%);
}


Das kompilierte CSS ist in beide Fällen identisch.

[Bearbeiten] Kritik

Die Nutzung einer Metasprache für CSS ist nicht unumstritten. Kritisiert wird das erschwerte Debugging sowie das Erweitern potenzieller Fehlerquellen. Auch könne der Kaskadierungsgedanke von CSS verloren gehen, der mit der Vergabe von Klassen gegeben ist. Ebenfalls ist innerhalb der SASS-Datei nicht immer ein Unterschied zwischen regulären CSS-Klassen und Mixins zu erkennen [1].

[Bearbeiten] Weblinks

[Bearbeiten] Einzelnachweise

  1. Über den (Un)Sinn von CSS Frameworks. Abgerufen am 21. Mai 2011.