Neue Sass-Version bringt einige neue Features mit sich

Sass 3.5 Release Candidate verfügbar
Kommentare

Seit der Veröffentlichung von Sass 3.4 ist bereits einige Zeit ins Land gegangen. Mit dem Release von Sass 3.5-rc1 nimmt die Weiterentwicklung der CSS-Erweiterungssprache allerdings wieder an Fahrt auf, denn der Release Candidate der neuen Sass-Version bringt einige neue Features mit sich.

Im Vordergrund der Arbeit an der Stylesheet-Sprache steht derzeit vor allem das Designen des neuen Module-Systems, das mit Sass 4.0 eingeführt werden soll. Trotzdem, so erklärt das Entwickler-Team, habe man Zeit gefunden, dem ersten Release Candidate von Sass 3.5 einige neue Features zu spendieren. Im Sass-Blog wurden die Highlights der neuen Version nun vorgestellt.

Neue Features in Sass 3.5

Sass 3.5-rc1 kommt mit einigen Neuerungen daher. So unterstützt die CSS-Erweiterungssprache zum Beispiel ab sofort vollständig CSS Custom Properties. Bisher stellte die Implementierung des Supports für Custom Properties eine große Herausforderung für die Sass-Entwickler dar, denn dank ihrer extrem breitgefächerten Syntax kann fast alles als valides CSS ausgegeben werden.

Das größte Problem dabei war vor allem, dass so auch SassScript-Expressions als valides CSS ausgegeben werden konnten und so für Probleme mit der CSS-Kompatibilität sorgten. Allerdings ist es notwendig, dynamische SassScript-Werte in Custom Properties einzubinden. Die Lösung des Problems: Custom Properties werden künftig wie Selektoren und at-rule-Werte behandelt, sodass sie nur #{} zum Einfügen von Sass-Werten erlauben. In Sass 3.5 kann somit etwa folgender Code geschrieben werden:

:host {
  --my-toolbar-theme: {
    background-color: #{$toolbar-background};
    border-radius: 4px;
    border: 1px solid gray;
  };
}

Außerdem bringt die neue Version mit First-Class-Funktionen auch einen neuen Daten-Typ mit sich. Man erhält diese etwa, indem ihr Name an get-function($name) übergeben wird; zudem kann die First-Class-Funktion anstelle des Funktionsnamens an call() übergeben werden. Damit macht das Entwickler-Team bereits einen großen Schritt in Richtung des neuen Module-Systems in Sass 4.0, das keinen globalen Scope mehr nutzen wird. Stylesheets, die aktuell Funktionsnamen als Strings übergeben, sollten bereits jetzt auf das Übergeben von First-Class-Funktions wechseln – insbesondere, weil das Aufrufen von call() mit einem String als deprecated markiert wurde.

JavaScript Days 2017

Architektur mit JavaScript

mit Golo Roden (the native web)

JavaScript Testing in der Praxis

mit Dominik Ehrenberg (crosscan) und Sebastian Springer (MaibornWolff)

Bracketed Lists und weitere Neuerungen

Neu in Sass 3.5-rc1 ist auch der Support von eckigen Klammern. So wurden dem CSS Grid Layout ein neuer Syntax-Type hinzugefügt: Identifiers, die von eckigen Klammern umgeben sind. Um weiter für eine bestmögliche Kompatibilität mit CSS zu sorgen, müssen diese Klammern in Sass ebenfalls unterstützt werden. Da Sass bereits über einen List Data Type verfügt, wurde nicht nur Listen die Eingrenzung in eckige Klammern erlaubt, sondern zudem Function-Support für Listen in eckigen Klammern hinzugefügt.

Darüber hinaus bringt Sass einige weitere Neuerungen mit sich, etwa eine neue content-exists ()-Funktion, ein neuer $weight-Parameter, der zur invert()-Funktion hinzugefügt wurde sowie die Möglichkeit, ein Trailing-Komma zu Argument-Listen hinzuzufügen.

Alle Neuerungen sind noch mal im oben genannten Blogpost zusammengefasst; Sass 3.5 soll final erscheinen, sobald libsass Feature-Kompatibilität mit dem Release Candidate der neuen Sass-Version erreicht hat.

Unsere Redaktion empfiehlt:

Relevante Beiträge

Meinungen zu diesem Beitrag

X
- Gib Deinen Standort ein -
- or -