📱
M335 - Mobile-Applikation realisieren
  • ▶️Intro
  • 🗓️Kursplanung & Organisation
  • 🛠️Infrastruktur und Tools
  • âť“FAQ
  • TAG 1
    • đź“–Native, Hybrid, Web
    • đź“–Frameworks
    • đź“–Angular
    • 🦸‍♂️Tour of Heroes
      • đź“–Introduction
      • đź“–Create a project
      • đź“–1. The hero editor
        • đź’ˇHinweise und Zusatzaufgaben zu Kapitel 1
      • đź“–2. Display a list
        • đź’ˇHinweise und Zusatzaufgaben zu Kapitel 2
      • đź“–3. Create a feature component
        • đź’ˇHinweise zu Kapitel 3
      • đź“–4. Add services
        • đź’ˇHinweise zu Kapitel 4
      • đź“–5. Navigation
        • đź’ˇHinweise und Zusatzaufgaben zu Kapitel 5
        • đź’ˇErgänzend zu Navigation
      • đź’ˇ Debugging
    • đź“–CSS / SASS / SCSS
  • Tag 2
  • đź“–Ionic
  • âť“Ionic Projekt erstellen
  • đź’ˇIonic Ăśbungen
  • đź“–Usability
  • đź“–Prototyping
  • đź“–UI Elements
  • 🛠️ Projektsetup
  • Tag 3
    • đź“–Native Grundlagen
    • đź“–Capacitor EinfĂĽhrung
    • đź’ˇApp auf Gerät laufen lassen
    • đź’ˇNative Komponente mit Capacitor verwenden
    • âť“Starten auf Gerät mit Live-Reload
  • đź“–Persistenz
    • đź“–Online Persistenz
    • đź“–Offline Persistenz
  • Tag 4
    • đź“–Testing
      • âť“Testplan: Praxisbeispiel
      • âť“Testprotokoll: Praxisbeispiel
  • Tag 5
    • đź’ˇBuild, Veröffentlichung, Ausblick
Powered by GitBook
On this page
  • Preprocessors
  • Variablen
  • Nesting
  • Operatoren
  1. TAG 1

CSS / SASS / SCSS

Previousđź’ˇ DebuggingNextIonic

Last updated 11 months ago

Durch plain CSS können schnell deine Stylesheets an Grösse gewinnen und unübersichtlich werden. SASS und SCSS dienen dir als Preprozessoren Struktur und Ordnung hineinzubringen und lassen sich dementsprechend kürzen. Zusätzlich erweitern Sie CSS mit Programmierfunktionen:

  • Variabeln (variables)

  • Verschachtelungen (nestings)

  • Operatoren

  • Mixins, Extends, Funktionen, usw.

Angular und Ionic setzen voll und ganz auf SCSS.

Preprocessors

Ein Preprocessor nimmt deine SCSS-Datei und wandelt Sie in eine herkömmliche CSS-Datei um. Denn dein Browser versteht nur CSS, kein SASS oder SCSS. Es gibt diverse Programme die dir diese Umwandlung abnehmen, egal ob Terminal, Programm oder in Ionic direkt - die Idee bleibt die gleiche. Im Beispiel unten ist zu sehen, dass SASS Tabulatoren verwendet, SCSS jedoch Klammern. In der Fachliteratur wird daher oft SASS synonym mit SCSS beschrieben.

Codebeispiel:

Neben der oben beschriebenen Sass-Syntax (indented syntax) verfĂĽgt Sass ĂĽber die neuere und heute weiter verbreitete SCSS-Syntax (Sassy CSS). Hier sind fĂĽr die Verschachtelung der Selektoren nicht die EinrĂĽckung des Quelltextes ausschlaggebend, sondern wie in der klassischen CSS-Schreibweise die geschweiften Klammern. Auch sind am Ende der Regeln Semikola erforderlich. Was kann der Browser anzeigen: HTML, CSS & JS ... aber nicht PUG/Jade, SCSS/SASS oder Typescript.

Variablen

Du kannst ganz einfach Variablen in Sass definieren. Oft werden Variablen für Grössen oder Farben verwendet.

<div class="wrapper">
  <h1>Variablen</h1>
  <h2>Ich liebe diese verschiedene Farben!</h2>
</div>
// SCSS: Variablen
// ----
$farbe-blau: #34495E;
$farbe-rot: #E74C3C;
$farbe-gruen: #2ECC71;
$groesse: 20px;

$hintergrund: $farbe-blau;

.wrapper {
  background: $hintergrund;
}
h1 { 
  font-style: italic;
  color: $farbe-rot;
}
h2 {
  font-size: $groesse;
  color: $farbe-gruen;
}

Wird zu CSS Code kompiliert:

.wrapper {
  background: #34495E;
}

h1 {
  font-style: italic;
  color: #E74C3C;
}

h2 {
  font-size: 20px;
  color: #2ECC71;
}

Nesting

Bei der Verschachtelung kann man sich einiges an Platz sparen und wie im HTML DOM die effektive Struktur der Seite stylen.

<h1>Ausserhalb eines DIV</h1>
<div class="wrapper">
  <h1>In einem DIV</h1>
</div>
// SCSS: Nesting
// ----
h1 { 
  color: red; 
}

.wrapper {
  h1 { 
  font-style: italic;
  color: black;
  }
}

Wird zu CSS Code kompiliert:

h1 {
  color: red;
}

.wrapper h1 {
  font-style: italic;
  color: black;
}

Operatoren

Operatoren sind eine ziemlich nĂĽtzliche Sache.

<h1>Dies ist eine Box die durch Operatoren 15x grösser ist:</h1>
<div class="box">
</div>

Die SCSS-Datei

// SCSS: Operatoren
// ----
$faktor: 15;
h1 { 
  color: black; 
}

.box {
  background: red;
  height: 20px;
  width: 10px * $faktor;
}

wird zur CSS-Datei:

h1 {
  color: black;
}

.box {
  background: red;
  height: 20px;
  width: 150px;
}

đź“–