de.hideout-lastation.com
Paradies Für Designer Und Entwickler


Eine einfache und einfache Anleitung, um Sass zu verstehen

Vor einiger Zeit hat Thoriq Firdaus einen großartigen Artikel über den Einstieg in Sass geschrieben, der Ihnen gezeigt hat, wie Sie diese äußerst nützliche CSS-Präprozessor-Sprache installieren und verwenden (Sie sollten es vielleicht ausprobieren, um mit dem Programm zu beginnen).

In diesem Artikel dachte ich, ich würde Ihnen ein wenig mehr Einblick geben, was Sie mit Sass machen können und wie Entwickler es jeden Tag verwenden, um besseren und modularen CSS-Code zu erstellen. Springen Sie weiter zum gewünschten Abschnitt:

  • Werkzeuge des Handels
  • Variablen
  • Verschachteln
  • Regelsets erweitern
  • Mixins
  • Platzhalter-Selektoren
  • Operationen
  • Funktionen

Werkzeuge des Handels

Thoriq zeigte Ihnen, wie Sie Sass von der Kommandozeile aus mit dem Befehl sass --watch .

Wenn Sie GUI-Tools bevorzugen, können Sie meine persönliche Lieblings-App, Codekit, ein Web-Entwickler-Tool zum Kompilieren von Sass, Verketten, Autoprefixing und vieles mehr verwenden. Prepros ist eine weitere sehr leistungsfähige Anwendung, die auf allen Systemen verwendet werden kann. Beide sind bezahlte Anwendungen, aber es lohnt sich, wenn Sie sie auf lange Sicht verwenden.

Wenn Sie nur Sass ausprobieren möchten, ohne etwas dafür zu bezahlen, können Sie das Terminal oder Koala (hier ist unser Testbericht) verwenden, eine kostenlose plattformübergreifende App mit vielen Funktionen, die sich gegen Premium-Pendants behaupten kann.

Variablen

Eines der ersten Dinge, die Sie brauchen, um sich einzuhüllen, sind Variablen. Wenn Sie von einem PHP oder anderen ähnlichen Programmiersprachen Hintergrund kommen, wird dies für Sie selbstverständlich sein. Variablen dienen zum Speichern von Bits und Stücken von wiederverwendbaren Informationen, wie zum Beispiel einem Farbwert:

 $ primary_color: # 666666; .button {Farbe: $ Primärfarbe; } .important {color: $ primary_color; } 

Das mag hier nicht so nützlich erscheinen, aber stellen Sie sich vor, Sie haben 3.000 Zeilen Code. Wenn sich Ihr Farbschema ändert, müssen Sie jeden Farbwert in CSS ersetzen. Mit Sass können Sie einfach den Wert der Variablen $primary_color und damit fertig werden.

Variablen werden zum Speichern von Schriftartnamen, Größen, Farben und einer Vielzahl anderer Informationen verwendet . Für größere Projekte lohnt es sich, alle Ihre Variablen in eine separate Datei zu extrahieren (wir werden uns ansehen, wie dies in Kürze geschieht). Dadurch können Sie Ihr gesamtes Projekt neu einfärben und Zeichensätze und andere wichtige Aspekte ändern, ohne jemals die eigentlichen CSS-Regeln zu berühren . Alles, was Sie tun müssen, ist einige Variablen zu ändern.

Verschachteln

Ein weiteres grundlegendes Feature, das Sass bietet, ist die Fähigkeit, Regeln zu verschachteln . Angenommen, Sie erstellen ein Navigationsmenü. Sie haben ein nav, das eine ungeordnete Liste, Listenelemente und Links enthält. In CSS können Sie so etwas tun:

 #header nav {/ * Regeln für den Navigationsbereich * /} #header nav ul {/ * Regeln für das Menü * /} #header nav li {/ * Regeln für Listenelemente * /} #header nav a {/ * Regeln für Links * /} 

In den Selektoren wiederholen wir uns sehr. Wenn Elemente gemeinsame Wurzeln haben, können wir die Verschachtelung verwenden, um unsere Regeln viel sauberer zu schreiben .

So könnte der obige Code in Sass aussehen:

 #header {nav {/ * Regeln für den Navigationsbereich * /} ul {/ * Regeln für das Menü * /} li {/ * Regeln für Listenelemente * /} a {/ * Regeln für Links * /}} 

Das Nesting ist sehr nützlich, weil es Stylesheets (viel) lesbarer macht . Durch die Verwendung von Verschachtelung zusammen mit der richtigen Einrückung können Sie sehr lesbare Code-Strukturen erreichen, auch wenn Sie eine Menge Code haben.

Ein Nachteil der Verschachtelung ist, dass sie zu unnötiger Spezifität führen kann . Im obigen Beispiel habe ich auf Links mit #header nav a . Du #header nav ul li a auch #header nav ul li a was wahrscheinlich zu viel wäre.

In Sass ist es viel einfacher, sehr spezifisch zu sein, da Sie nur Ihre Regeln verschachteln müssen. Das Folgende ist weit weniger lesbar und ziemlich spezifisch.

 #header {nav {/ * Regeln für den Navigationsbereich * / ul {/ * Regeln für das Menü * / li {/ * Regeln für Listenelemente * / a {/ * Regeln für Links * /}}}}} 

Regelsets erweitern

Die Erweiterung wird Ihnen vertraut sein, wenn Sie mit objektorientierten Sprachen arbeiten. Es ist am besten durch ein Beispiel zu verstehen, lassen Sie uns 3 Tasten, die leichte Variationen voneinander sind erstellen.

 .button {Anzeige: Inline-Block; Farbe: # 000; Hintergrund: # 333; Rand-Radius: 4px; Polsterung: 8px 11px; } .button-primary {@extend .button; Hintergrund: # 0091C2} .button-small {@extend .button; Schriftgröße: 0.9em; Polsterung: 3px 8px; } 

Die .button-primary und .button-small erweitern alle die .button Klasse, was bedeutet, dass sie alle ihre Eigenschaften annehmen und dann ihre eigenen definieren.

Dies ist immens nützlich in vielen Situationen, in denen Variationen eines Elements verwendet werden können. Nachrichten (Warnung / Erfolg / Fehler), Schaltflächen (Farben, Größen), Menütypen usw. könnten alle die Erweiterungsfunktionalität für großartige CSS-Effizienz nutzen.

Eine Einschränkung von extends ist, dass sie in Medienanfragen nicht wie erwartet funktionieren . Dies ist ein wenig fortgeschrittener, aber Sie können alles über dieses Verhalten in Grundlegend Platzhalter Selektoren lesen - Platzhalter Selektoren sind spezielle Art von Erweiterung, über die wir bald sprechen werden.

Mixins

Mixins sind ein weiteres beliebtes Merkmal von Präprozessor-Benutzern. Mixins sind wiederverwendbare Regelsätze - perfekt für herstellerspezifische Regeln oder für den Verzicht auf lange CSS-Regeln.

Wie wäre es mit der Erstellung einer Übergangsregel für Hover-Elemente:

 @mixing Hover-Effekt {-webkit-Übergang: Hintergrundfarbe 200ms; -moz-Übergang: Hintergrundfarbe 200ms; -o-Übergang: Hintergrundfarbe 200ms; Übergang: Hintergrundfarbe 200ms; } a {@include Hover-Effekt; } .button {@include Hover-Effekt; } 

Mixins ermöglichen Ihnen auch, Variablen zu verwenden, um die Werte innerhalb des Mixins zu definieren . Wir könnten das obige Beispiel umschreiben, um uns die Kontrolle über den genauen Zeitpunkt des Übergangs zu geben . Wir möchten, dass Schaltflächen zum Beispiel ein bisschen langsamer werden.

 @mixin Hover-Effekt ($ Geschwindigkeit) {-webkit-Übergang: Hintergrundfarbe $ Geschwindigkeit; -moz-transition: Hintergrundfarbe $ Geschwindigkeit; -o-Übergang: Hintergrundfarbe $ Geschwindigkeit; Übergang: Hintergrundfarbe $ Geschwindigkeit; } a {@include Hover-Effekt (200ms); } .button {@include hover-effect (300ms); } 

Platzhalter-Selektoren

Platzhalter-Selektoren wurden mit Sass 3.2 eingeführt und haben ein Problem gelöst, das zu einem Aufblähen des generierten CSS-Codes führen kann. Sehen Sie sich diesen Code an, der Fehlermeldungen erzeugt:

 .nachricht {font-size: 1.1em; Auffüllen: 11px; Rahmenbreite: 1px; Rand-Stil: fest; } .message-danger {@extend.message; Hintergrund: # C20030; Farbe: #fff; Rahmenfarbe: # A8002A; } .message-success {@extend .message; Hintergrund: # 7EA800; Farbe: #fff; Randfarbe: # 6B8F00; } 

Es ist sehr wahrscheinlich, dass die Nachrichtenklasse niemals in unserem HTML-Code verwendet wird: Sie wurde erstellt, um erweitert zu werden und nicht so wie sie ist . Dies verursacht ein bisschen Aufblähen in Ihrem generierten CSS. Um Ihren Code effizienter zu machen, können Sie den Platzhalter-Selektor verwenden, der mit einem Prozentzeichen gekennzeichnet ist:

 % Nachricht {font-size: 1.1em; Auffüllen: 11px; Rahmenbreite: 1px; Rand-Stil: fest; } .message-danger {@extend% button; Hintergrund: # C20030; Farbe: #fff; Rahmenfarbe: # A8002A; } .message-success {@extend% button; Hintergrund: # 7EA800; Farbe: #fff; Randfarbe: # 6D9700; } 

In diesem Stadium fragen Sie sich vielleicht, was der Unterschied zwischen den Extensions und den Mixins ist. Wenn Sie Platzhalter verwenden, verhalten sie sich wie eine parameterlose Mischung. Das stimmt, aber die Ausgabe in CSS unterscheidet sich. Der Unterschied besteht darin, dass doppelte Regeln dupliziert werden, während Platzhalter dafür sorgen, dass selbe Regeln Selektoren gemeinsam nutzen, was am Ende zu weniger CSS führt.

Operationen

Es ist schwer, hier dem Wortspiel zu widerstehen, aber ich werde vorläufig keine medizinischen Witze machen. Mit Hilfe von Operatoren können Sie in Ihrem CSS-Code etwas rechnen und können sehr hilfreich sein. Das Beispiel im Sass Guide ist perfekt, um dies zu veranschaulichen:

 .container {Breite: 100%; } Artikel {float: links; Breite: 600px / 960px * 100%; } beiseite {float: rechts; Breite: 300px / 960px * 100%; } 

Das obige Beispiel erstellt ein 960px-basiertes Grid-System mit minimalem Aufwand. Es wird sich gut auf das folgende CSS kompilieren:

 .container {Breite: 100%; } Artikel {float: links; Breite: 62, 5%; } beiseite {float: rechts; Breite: 31, 25%; } 

Ein großer Nutzen, den ich für Operationen finde, ist das Mischen von Farben. Wenn Sie sich die Erfolgsmeldung Sass oben ansehen, ist nicht klar, dass die Farbe des Hintergrunds und der Grenze eine Art Beziehung zueinander haben. Durch Subtrahieren einer Graustufe können wir die Farbe verdunkeln und die Beziehung sichtbar machen:

 $ primary: # 7EA800; .message-success {@extend% button; Hintergrund: $ primary; Farbe: #fff; Rahmenfarbe: $ primary - # 111; } 

Je heller die abgezogene Farbe ist, desto dunkler wird die resultierende Farbe. Je heller die hinzugefügte Farbe ist, desto heller ist der resultierende Farbton.

Funktionen

Es gibt eine große Anzahl von Funktionen zu verwenden: Zahlenfunktionen, Zeichenfolgenfunktionen, Listenfunktionen, Farbfunktionen und mehr. Sehen Sie sich die lange Liste in der Entwicklerdokumentation an. Ich schaue mir hier ein Paar an, um Ihnen zu zeigen, wie sie arbeiten.

Die lighten und darken kann verwendet werden, um die Helligkeit einer Farbe zu ändern. Dies ist besser als das Subtrahieren von Schattierungen, es macht alles noch modularer und offensichtlicher. Schauen Sie sich unser vorheriges Beispiel mit der Verdunkelungsfunktion an.

 $ primary: # 7EA800; .message-success {@extend% button; Hintergrund: $ primary; Farbe: #fff; border-color: verdunkeln ($ primary, 5); } 

Das zweite Argument der Funktion ist der erforderliche Verdunkelungsgrad. Alle Funktionen haben Parameter; Werfen Sie einen Blick auf die Dokumentation, um zu sehen, was sie sind! Hier sind ein paar andere selbsterklärende desaturate : desaturate, saturate, invert, grayscale .

Die ceil Funktion gibt, genau wie in PHP, eine Zahl zurück, die auf die nächste ganze Zahl gerundet wird. Dies kann verwendet werden, wenn Spaltenbreiten berechnet werden oder wenn nicht viele Dezimalstellen im endgültigen CSS verwendet werden sollen.

 .title {font-size: ceil ($ heading_size * 1.3314); } 

Überblick

Die Funktionen in Sass geben uns die Möglichkeit, mit weniger Aufwand besser CSS zu schreiben. Die richtige Verwendung von Mixins, Erweiterungen, Funktionen und Variablen macht unsere Stylesheets wartbarer, lesbarer und einfacher zu schreiben.

Wenn Sie an einem anderen ähnlichen CSS-Präprozessor interessiert sind, empfehle ich, einen Blick auf LESS zu werfen (oder sehen Sie sich unser Anfängerhandbuch an) - der zugrunde liegende Prinzipal ist ähnlich!

20+ Essential Tools und Anwendungen für Blogger

20+ Essential Tools und Anwendungen für Blogger

Bloggen kann ein ziemlicher Prozess sein. Zuerst müssen Sie etwas recherchieren, dann Ihre Gedanken zusammenfügen und natürlich alle notwendigen Screenshots und Bilder hinzufügen. Vergessen wir nicht den Optimierungsteil (SEO, Keywords, etc.) und teilen Sie Ihre Inhalte im Web, damit andere sie lesen und hoffentlich teilen. Mi

(Tech- und Design-Tipps)

5 VR Headset Alternativen zum Oculus Rift

5 VR Headset Alternativen zum Oculus Rift

Virtual Reality ist nicht neu, aber die Oculus Rift hat wieder Interesse daran geweckt, als wir erkennen, dass wir dem Virtual-Reality-Gaming einen Schritt näher kommen . Obwohl die Technologie bereits auf dem Vormarsch ist und gedeiht, fehlt es immer noch an dem richtigen Gerät, das ein umfassendes Erlebnis bieten kann.A

(Tech- und Design-Tipps)