Trusted WordPress tutorials, when you need them most.
Beginner’s Guide to WordPress
WPB Cup
25 Million+
Websites using our plugins
16+
Years of WordPress experience
3000+
WordPress tutorials
by experts

Einführung in Sass für neue WordPress-Theme-Designer

Hinweis der Redaktion: Wir erhalten eine Provision für Partnerlinks auf WPBeginner. Die Provisionen haben keinen Einfluss auf die Meinung oder Bewertung unserer Redakteure. Erfahre mehr über Redaktioneller Prozess.

Als neuer WordPress-Theme-Designer lernt man schnell, wie schwierig es ist, lange CSS-Dateien zu pflegen und sie gleichzeitig übersichtlich, skalierbar und lesbar zu halten.

Viele Designer und Front-End-Entwickler empfehlen die Verwendung einer CSS-Präprozessorsprache wie Sass oder LESS, um die Arbeit zu erleichtern. Aber was sind das für Dinger? Und wie fängt man mit ihnen an?

Dieser Artikel ist eine Einführung in Sass für neue WordPress-Theme-Designer. Wir erklären Ihnen, was ein CSS-Präprozessor ist, warum Sie ihn brauchen und wie Sie ihn installieren und sofort verwenden können.

Sass - CSS with Superpowers

Was ist Sass (Syntactically Awesome Stylesheet)?

Das von uns verwendete CSS wurde als einfach zu verwendende Stylesheet-Sprache konzipiert. Das Web hat sich jedoch weiterentwickelt, und deshalb brauchen Designer eine Stylesheet-Sprache, mit der sie mit weniger Aufwand und Zeit mehr erreichen können. CSS-Präprozessorsprachen wie Sass ermöglichen die Nutzung von Funktionen, die derzeit in CSS nicht verfügbar sind, wie Variablen, grundlegende mathematische Operatoren, Verschachtelung, Mixins usw.

Sie ähnelt PHP, einer Präprozessorsprache, die ein Skript auf dem Server ausführt und eine HTML-Ausgabe erzeugt. In ähnlicher Weise verarbeitet Sass .scss-Dateien vor, um CSS-Dateien zu erzeugen, die von Browsern verwendet werden können.

Seit Version 3.8 wurden die Stile des WordPress-Administrationsbereichs auf die Verwendung von Sass für die Entwicklung portiert. Es gibt viele WordPress-Theme-Shops und -Entwickler, die Sass bereits nutzen, um ihren Entwicklungsprozess zu beschleunigen.

Erste Schritte mit Sass für die WordPress-Themenentwicklung

Die meisten Theme-Designer verwenden eine lokale Entwicklungsumgebung, um an ihren Themes zu arbeiten, bevor sie sie in einer Staging-Umgebung oder auf einem Live-Server bereitstellen. Da Sass eine Präprozessorsprache ist, müssen Sie sie in Ihrer lokalen Entwicklungsumgebung installieren.

Das erste, was Sie tun müssen, ist Sass zu installieren. Es kann als Kommandozeilen-Tool verwendet werden, aber es gibt auch einige schöne GUI-Apps für Sass. Wir empfehlen die Verwendung von Koala, einer kostenlosen Open-Source-App, die für Mac, Windows und Linux verfügbar ist.

Koala app

Für die Zwecke dieses Artikels müssen Sie ein leeres Thema erstellen. Erstellen Sie einfach einen neuen Ordner in /wp-content/themes/. Sie können ihn „mytheme“ oder einen anderen Namen nennen. Erstellen Sie in Ihrem leeren Theme-Ordner einen weiteren Ordner und nennen Sie ihn Stylesheets.

Im Stylesheets-Ordner müssen Sie mit einem Texteditor wie Notepad eine style.scss-Datei erstellen.

Nun müssen Sie Koala öffnen und auf das Plus-Symbol klicken, um ein neues Projekt hinzuzufügen. Als Nächstes suchen Sie das Verzeichnis Ihres Themas und fügen es als Ihr Projekt hinzu. Sie werden feststellen, dass Koala automatisch die Sass-Datei in Ihrem Stylesheets-Verzeichnis findet und anzeigt.

Adding project in Koala

Klicken Sie mit der rechten Maustaste auf Ihre Sass-Datei und wählen Sie die Option Ausgabepfad festlegen. Wählen Sie nun das Stammverzeichnis Ihres Themes, z. B. /wp-content/themes/mytheme/, und drücken Sie die Eingabetaste. Koala wird nun eine CSS-Ausgabedatei in Ihrem Themenverzeichnis erzeugen. Um dies zu testen, öffnen Sie Ihre Sass-Datei style.scss in einem Texteditor wie Notepad und fügen Sie diesen Code ein:

$fonts: arial, verdana, sans-serif; 
body { 
font-family:$fonts;
} 

Jetzt müssen Sie Ihre Änderungen speichern und zu Koala zurückkehren. Klicken Sie mit der rechten Maustaste auf Ihre Sass-Datei, und die Seitenleiste wird auf der rechten Seite eingeblendet. Um Ihre Sass-Datei zu kompilieren, klicken Sie einfach auf die Schaltfläche „Kompilieren“. Sie können das Ergebnis sehen, indem Sie die Datei style.css in Ihrem Theme-Verzeichnis öffnen, und es wird das verarbeitete CSS wie folgt aussehen:

body {
  font-family: arial, verdana, sans-serif; }

Beachten Sie, dass wir in unserer Sass-Datei eine Variable $fonts definiert haben. Wenn wir nun eine Schriftfamilie hinzufügen wollen, müssen wir die Namen aller Schriftarten nicht erneut eingeben. Wir können einfach $fonts verwenden.

Welche anderen Superkräfte bringt Sass für CSS mit sich?

Sass ist unglaublich leistungsfähig, abwärtskompatibel und super einfach zu erlernen. Wie wir bereits erwähnt haben, können Sie Variablen, Verschachtelungen, Mixins, Import, Partials, mathematische und logische Operatoren usw. erstellen. Jetzt werden wir Ihnen einige Beispiele zeigen, und Sie können sie in Ihrem WordPress-Theme ausprobieren.

Mehrere Stylesheets verwalten

Ein häufiges Problem, mit dem Sie als WordPress-Theme-Designer konfrontiert werden, sind große Stylesheets mit vielen Abschnitten. Bei der Arbeit an Ihrem Theme werden Sie wahrscheinlich viel nach oben und unten scrollen, um Dinge zu korrigieren. Mit Sass können Sie mehrere Dateien in Ihr Haupt-Stylesheet importieren und eine einzige CSS-Datei für Ihr Theme ausgeben.

Was ist mit CSS @import?

Das Problem bei der Verwendung von @import in Ihrer CSS-Datei ist, dass jedes Mal, wenn Sie ein @import hinzufügen, Ihre CSS-Datei eine weitere HTTP-Anfrage an den Server stellt. Dies wirkt sich auf die Ladezeit Ihrer Seite aus, was nicht gut für Ihr Projekt ist. Wenn Sie hingegen @import in Sass verwenden, werden die Dateien in Ihre Sass-Datei aufgenommen und alle in einer einzigen CSS-Datei für die Browser bereitgestellt.

Um zu lernen, wie man @import in Sass verwendet, müssen Sie zunächst eine Datei reset.scss im Stylesheets-Verzeichnis Ihres Themes erstellen und diesen Code einfügen.

/* http://meyerweb.com/eric/tools/css/reset/ 
   v2.0 | 20110126
   License: none (public domain)
*/
 
html, body, div, span, applet, object, iframe,
h1, h2, h3, h4, h5, h6, p, blockquote, pre,
a, abbr, acronym, address, big, cite, code,
del, dfn, em, img, ins, kbd, q, s, samp,
small, strike, strong, sub, sup, tt, var,
b, u, i, center,
dl, dt, dd, ol, ul, li,
fieldset, form, label, legend,
table, caption, tbody, tfoot, thead, tr, th, td,
article, aside, canvas, details, embed, 
figure, figcaption, footer, header, hgroup, 
menu, nav, output, ruby, section, summary,
time, mark, audio, video {
    margin: 0;
    padding: 0;
    border: 0;
    font-size: 100%;
    font: inherit;
    vertical-align: baseline;
}
/* HTML5 display-role reset for older browsers */
article, aside, details, figcaption, figure, 
footer, header, hgroup, menu, nav, section {
    display: block;
}
body {
    line-height: 1;
}
ol, ul {
    list-style: none;
}
blockquote, q {
    quotes: none;
}
blockquote:before, blockquote:after,
q:before, q:after {
    content: '';
    content: none;
}
table {
    border-collapse: collapse;
    border-spacing: 0;
}

Nun müssen Sie Ihre Hauptdatei style.scss öffnen und diese Zeile an der Stelle einfügen, an der die zurückgesetzte Datei importiert werden soll:

@import 'reset';

Beachten Sie, dass Sie nicht den vollständigen Dateinamen eingeben müssen. Um dies zu kompilieren, müssen Sie Koala öffnen und erneut auf die Schaltfläche „Kompilieren“ klicken. Öffnen Sie nun die Hauptdatei style.css Ihres Themas, und Sie werden sehen, dass Ihre zurückgesetzte css-Datei darin enthalten ist.

Nestin in Sass

Im Gegensatz zu HTML ist CSS keine verschachtelte Sprache. Mit Sass können Sie verschachtelte Dateien erstellen, die einfach zu verwalten und zu bearbeiten sind. Zum Beispiel können Sie alle Elemente für den <Artikel>-Abschnitt unter dem Artikel-Selektor verschachteln. Als WordPress-Theme-Designer können Sie so an verschiedenen Abschnitten arbeiten und die einzelnen Elemente einfach gestalten. Um nestin in Aktion zu sehen, fügen Sie dies zu Ihrer style.scss-Datei hinzu:

.entry-content { 
p { 
font-size:12px;
line-height:150%;  
} 
ul { 
line-height:150%; 
}
a:link, a:visited, a:active { 
text-decoration:none;
color: #ff6633;
} 
} 

Nach der Verarbeitung wird das folgende CSS ausgegeben:

.entry-content p {
  font-size: 12px;
  line-height: 150%; }
.entry-content ul {
  line-height: 150%; }
.entry-content a:link, .entry-content a:visited, .entry-content a:active {
  text-decoration: none;
  color: #ff6633; }

Als Themendesigner werden Sie verschiedene Erscheinungsbilder für Widgets, Beiträge, Navigationsmenüs, Header usw. entwerfen. Die Verwendung von nestin in Sass sorgt für eine gute Strukturierung, und Sie müssen nicht immer wieder die gleichen Klassen, Selektoren und Bezeichner schreiben.

Mixins in Sass verwenden

Manchmal müssen Sie einige CSS in Ihrem Projekt wiederverwenden, obwohl die Stilregeln die gleichen sind, weil Sie sie für verschiedene Selektoren und Klassen verwenden. In diesem Fall sind Mixins sehr nützlich. Fügen wir ein Mixin zu Ihrer style.scss-Datei hinzu:

@mixin hide-text{
    overflow:hidden;
    text-indent:-9000px;
    display:block;
}

Dieses Mixin verbirgt im Grunde genommen einen bestimmten Text vor der Anzeige. Hier ist ein Beispiel dafür, wie Sie dieses Mixin verwenden können, um Text für Ihr Logo auszublenden:

.logo{
    background: url("logo.png");
    height:100px;
    width:200px;
    @include hide-text;
}

Beachten Sie, dass Sie @include verwenden müssen, um ein Mixin hinzuzufügen. Nach der Verarbeitung wird das folgende CSS generiert:

.logo {
  background: url("logo.png");
  height: 100px;
  width: 200px;
  overflow: hidden;
  text-indent: -9000px;
  display: block; }

Mixins sind auch bei Herstellerpräfixen sehr hilfreich. Beim Hinzufügen von Deckkraftwerten oder Randradien können Sie mit Mixins viel Zeit sparen. Schauen Sie sich dieses Beispiel an, in dem wir ein Mixin zum Hinzufügen des Randradius hinzugefügt haben.

@mixin border-radius($radius) {
  -webkit-border-radius: $radius;
     -moz-border-radius: $radius;
      -ms-border-radius: $radius;
       -o-border-radius: $radius;
          border-radius: $radius;
}
 
.largebutton { @include border-radius(10px); }
.smallbutton { @include border-radius(5px); }

Nach der Kompilierung wird das folgende CSS erzeugt:

.largebutton {
  -webkit-border-radius: 10px;
  -moz-border-radius: 10px;
  -ms-border-radius: 10px;
  -o-border-radius: 10px;
  border-radius: 10px; }
 
.smallbutton {
  -webkit-border-radius: 5px;
  -moz-border-radius: 5px;
  -ms-border-radius: 5px;
  -o-border-radius: 5px;
  border-radius: 5px; }

Zusätzliche Ressourcen

Sass Lang
Der Sass-Weg

Wir hoffen, dass dieser Artikel Ihnen geholfen hat, mehr über Sass für die WordPress-Theme-Entwicklung zu erfahren. Viele WordPress-Theme-Designer verwenden es bereits. Einige gehen so weit zu sagen, dass in Zukunft alle CSS vorverarbeitet werden, und WordPress-Theme-Entwickler müssen ihr Spiel zu verbessern. Vielleicht interessieren Sie sich auch für unseren Leitfaden über WordPress-Körperklassen-Tipps für Theme-Designer oder unsere Expertenauswahl der besten Drag-and-Drop-WordPress-Seitenerstellungsprogramme.

Wenn Ihnen dieser Artikel gefallen hat, dann abonnieren Sie bitte unseren YouTube-Kanal für WordPress-Videotutorials. Sie können uns auch auf Twitter und Facebook finden.

Offenlegung: Unsere Inhalte werden von unseren Lesern unterstützt. Das bedeutet, dass wir möglicherweise eine Provision verdienen, wenn Sie auf einige unserer Links klicken. Mehr dazu erfahren Sie unter Wie WPBeginner finanziert wird , warum das wichtig ist und wie Sie uns unterstützen können. Hier finden Sie unseren redaktionellen Prozess .

Das ultimative WordPress Toolkit

Erhalte KOSTENLOSEN Zugang zu unserem Toolkit - eine Sammlung von WordPress-bezogenen Produkten und Ressourcen, die jeder Profi haben sollte!

Reader Interactions

12 KommentareEine Antwort hinterlassen

  1. Syed Balkhi says

    Hey WPBeginner readers,
    Did you know you can win exciting prizes by commenting on WPBeginner?
    Every month, our top blog commenters will win HUGE rewards, including premium WordPress plugin licenses and cash prizes.
    You can get more details about the contest from here.
    Start sharing your thoughts below to stand a chance to win!

  2. Dapo O says

    Thanks for this.

    I’m building a custom Block theme and wondering if I can use SASS same way I do with Classic themes.

  3. Mark says

    Great tutorial. How do you go about creating a WordPress child theme using SASS and Koala? That would be a very useful tutorial…

    • WPBeginner Support says

      While we don’t have a guide for that at the moment, we will certainly take a look at it for a possible article.

      Admin

  4. Paulo Jesus says

    Hi, I am working on a WordPress theme using bootstrap and sass. I have a sass folder set up using the smacss aproach and on the root of my sass folder I have a style.sccs file that imports all the scss files for all the sections on my theme(_footer.scss, _header.scss, etc) then it outputs to my style.css file on the root of my theme. The issue I am having is that I am extending some bootstrap classes in some of those .scss files and if I include a _bootstrap.scss on my sass folder and import it on my style.scss file everything works fine, however the whole bootstrap is then also compiled to my style.css and it becomes quite messy. Ideally I would want the bootstrap css separated from my them styles not as part of my style.css, however if I dont import it on my style.scss and instead enqueue it on my functions.php I get an error saying that the bootstrap classes extended cannot be found and the theme breaks.. Any thoughts on how to go around this issue would be appreciated.
    Thank you very much

  5. Cinnamon Bernard says

    Hi,

    I know this is sort of an old post, but still quite new, I had a question about incorporating Twitter Bootstrap Sass, Font-Awesome Sass, with Underscores WordPress starter theme template.

    I’ve tried to incorporate and placed all Sass files in their own directory, and have a separate output path for Css files, while keeping WordPress style.css in the root with an @import to the style.css within the Css folder.

    After setting all of this up, the styles for bootstrap has not been working properly, I’m not certain if it is due to having a reset file. I was sure to place the bootstrap and font-awesome @imports at the top, followed by the others.

    If possible, based on what I’ve provided, can you give advice on how to set up my workflow.

    Thanks!

  6. Josh McClanahan says

    Great article!

    I was wondering if there is any kind of setup, like in php you have to add PEAR for various extensions, for using SASS especially when going live.
    In other words is there anything that is needed to be included after compiling and going live?

    Thanks for your help and this article.

Eine Antwort hinterlassen

Danke, dass du einen Kommentar hinterlassen möchtest. Bitte beachte, dass alle Kommentare nach unseren kommentarpolitik moderiert werden und deine E-Mail-Adresse NICHT veröffentlicht wird. Bitte verwende KEINE Schlüsselwörter im Namensfeld. Lass uns ein persönliches und sinnvolles Gespräch führen.