Was ist CSS?

CSS (Cascading Style Sheets) erlaubt es Ihnen, ansprechend aussehende Webseiten zu erstellen, aber wie funktioniert es intern? Dieser Artikel erklärt, was CSS ist, wie die grundlegende Syntax aussieht und wie Ihr Browser CSS auf HTML anwendet, um es zu gestalten.

Voraussetzungen: Grundlegende Software installiert, grundlegende Kenntnisse über den Umgang mit Dateien und Vertrautheit mit HTML (studieren Sie das Strukturieren von Inhalten mit HTML Modul.)
Lernziele:
  • Der Zweck von CSS.
  • Dass HTML nichts mit Styling zu tun hat.
  • Das Konzept der Standardbrowserstile.
  • Wie CSS-Code aussieht.
  • Wie CSS auf HTML angewendet wird.

Standardbrowserstile

Im Modul Strukturieren von Inhalten mit HTML haben wir besprochen, was HTML ist und wie es verwendet wird, um Dokumente zu markieren. Diese Dokumente sind in einem Webbrowser lesbar. Überschriften sehen größer aus als normaler Text, Absätze brechen in eine neue Zeile und haben Abstand zwischen ihnen. Links sind farbig und unterstrichen, um sie vom restlichen Text zu unterscheiden.

Was Sie sehen, sind die Standardstile des Browsers — sehr grundlegende Gestaltung, die der Browser auf HTML anwendet, um sicherzustellen, dass die Seite im Wesentlichen lesbar ist, selbst wenn kein explizites Styling vom Autor der Seite angegeben ist. Diese Stile sind in den standardmäßigen CSS-Stylesheets enthalten, die der Browser enthält — sie haben nichts mit HTML zu tun.

Die Standardstile, die von einem Browser verwendet werden

Das Web wäre ein langweiliger Ort, wenn alle Webseiten so aussähen. Deshalb müssen Sie über CSS lernen.

Wofür ist CSS?

Mit CSS können Sie genau steuern, wie HTML-Elemente im Browser aussehen und Ihre Dokumente Ihren Benutzern mit jedem gewünschten Design und Layout präsentieren.

  • Ein Dokument ist normalerweise eine Textdatei, die mit einer Auszeichnungssprache strukturiert ist, am häufigsten HTML (diese werden als HTML-Dokumente bezeichnet). Sie könnten auch auf Dokumente stoßen, die in anderen Auszeichnungssprachen wie SVG oder XML geschrieben sind. Wo wir zuvor über Webseiten gesprochen haben, enthält ein HTML-Dokument den Inhalt der Webseite und bestimmt ihre Struktur.
  • Präsentieren eines Dokuments für einen Benutzer bedeutet, es in eine für Ihr Publikum nutzbare Form zu konvertieren. Browser wie Firefox, Chrome, Safari und Edge sind darauf ausgelegt, Dokumente visuell darzustellen, z. B. auf einem Computerbildschirm, Projektor, mobilen Gerät oder Drucker. Im Web-Kontext wird dies im Allgemeinen als Rendering bezeichnet; wir haben eine vereinfachte Beschreibung des Prozesses gegeben, durch den eine Webseite im Artikel Wie Browser Websites laden gerendert wird.

Hinweis: Ein Browser wird manchmal als Benutzer-Agent bezeichnet, was im Grunde bedeutet, dass es ein Computerprogramm ist, das eine Person innerhalb eines Computersystems repräsentiert.

CSS kann für viele Zwecke im Zusammenhang mit dem Look und Feel Ihrer Webseite verwendet werden. Die wichtigsten sind:

Die CSS-Sprache ist in Module organisiert, die verwandte Funktionen enthalten. Zum Beispiel werfen Sie einen Blick auf die MDN-Referenzseiten für das Hintergründe und Rahmen Modul, um herauszufinden, was sein Zweck ist und welche Eigenschaften und Merkmale es enthält. In diesem Modul finden Sie auch einen Link zu Spezifikationen, die die Technologie definieren.

Grundlagen der CSS-Syntax

CSS ist eine regelbasierte Sprache — Sie definieren Regeln, indem Sie Gruppen von Stilen angeben, die auf bestimmte Elemente oder Gruppen von Elementen auf Ihrer Webseite angewendet werden sollen.

Zum Beispiel könnten Sie entscheiden, die Hauptüberschrift auf Ihrer Seite als großen roten Text zu gestalten. Der folgende Code zeigt eine sehr einfache CSS-Regel, die dies erreicht:

css
h1 {
  color: red;
  font-size: 2.5em;
}
  • Im obigen Beispiel öffnet die CSS-Regel mit einem Selektor. Dieser wählt die HTML-Elemente aus, die wir stylen werden. In diesem Fall stylen wir Überschriften der Ebene eins (<h1>).
  • Danach sehen wir eine Gruppe von geschweiften Klammern — { }.
  • Die Klammern enthalten eine oder mehrere Deklarationen, die in Form von Eigenschafts- und Wertpaaren vorliegen. Wir geben die Eigenschaft an (zum Beispiel color im obigen Beispiel) vor dem Doppelpunkt, und wir geben den Wert der Eigenschaft nach dem Doppelpunkt an (red ist der Wert, der für die color-Eigenschaft festgelegt wird).
  • Dieses Beispiel enthält zwei Deklarationen, eine für color und eine andere für font-size.

Verschiedene CSS-Eigenschaften haben unterschiedliche zulässige Werte. In unserem Beispiel haben wir die color-Eigenschaft, die verschiedene Farbwerte annehmen kann. Wir haben auch die font-size-Eigenschaft. Diese Eigenschaft kann verschiedene Größeneinheiten als Wert annehmen.

Ein CSS-Stylesheet enthält viele solcher Regeln, die nacheinander geschrieben werden.

css
h1 {
  color: red;
  font-size: 2.5em;
}

p {
  color: aqua;
  padding: 5px;
  background: midnightblue;
}

Sie werden feststellen, dass Sie einige Werte schnell lernen, während Sie andere nachschlagen müssen. Die einzelnen Eigenschaftsseiten auf MDN bieten Ihnen eine schnelle Möglichkeit, Eigenschaften und deren Werte nachzuschlagen.

Hinweis: Sie können Links zu allen CSS-Eigenschaftsseiten (neben anderen CSS-Funktionen) im MDN CSS-Referenz finden. Alternativ sollten Sie daran gewöhnt sein, nach "mdn css-feature-name" in Ihrer bevorzugten Suchmaschine zu suchen, wann immer Sie mehr Informationen über eine CSS-Funktion benötigen. Versuchen Sie beispielsweise, nach "mdn color" oder "mdn font-size" zu suchen!

Wie wird CSS auf HTML angewendet?

Wie in Wie Browser Websites laden erklärt, wenn Sie zu einer Webseite navigieren, empfängt der Browser zuerst das HTML-Dokument mit dem Inhalt der Webseite und konvertiert es in eine DOM-Struktur.

Danach werden alle auf der Webseite gefundenen CSS-Regeln (entweder direkt im HTML eingefügt oder in referenzierten externen .css Dateien) in verschiedene „Buckets“ sortiert, basierend auf den verschiedenen Elementen, auf die sie angewendet werden (wie durch ihre Selektoren angegeben). Die CSS-Regeln werden dann auf die DOM-Struktur angewendet, was zu einer Render-Struktur führt, die dann im Browserfenster gezeichnet wird.

Werfen wir einen Blick auf ein Beispiel. Zuerst definieren wir ein HTML-Snippet, auf das das CSS angewendet werden könnte:

html
<h1>CSS is great</h1>

<p>You can style text.</p>

<p>And create layouts and special effects.</p>

Nun unser CSS, wiederholt aus dem vorherigen Abschnitt:

css
h1 {
  color: red;
  font-size: 2.5em;
}

p {
  color: aqua;
  padding: 5px;
  background: midnightblue;
}

Dieses CSS:

  • Wählt alle <h1>-Elemente auf der Seite aus, färbt ihren Text rot und macht sie größer als ihre Standardgröße. Da es nur ein <h1> in unserem Beispiel-HTML gibt, wird nur dieses Element die Gestaltung erhalten.
  • Wählt alle <p>-Elemente auf der Seite aus, gibt ihnen eine benutzerdefinierte Text- und Hintergrundfarbe und etwas Abstand um den Text herum. Es gibt zwei <p>-Elemente in unserem Beispiel-HTML, und sie alle bekommen die Gestaltung.

Wenn das CSS auf das HTML angewendet wird, ist die gerenderte Ausgabe wie folgt:

Probieren Sie es aus

Versuchen Sie, mit dem obigen Beispiel zu spielen. Drücken Sie dazu die „Play“-Schaltfläche in der oberen rechten Ecke, um es in unserem Playground-Editor zu laden. Versuchen Sie Folgendes:

  1. Fügen Sie einen weiteren Absatz unterhalb der beiden vorhandenen hinzu und achten Sie darauf, wie die zweite CSS-Regel automatisch auf den neuen Absatz angewendet wird.
  2. Fügen Sie eine <h2>-Zwischenüberschrift an einer Stelle unterhalb des <h1> ein, möglicherweise nach einem der Absätze. Versuchen Sie, ihm eine andere Farbe zu geben, indem Sie eine neue Regel zum CSS hinzufügen. Machen Sie eine Kopie der h1-Regel, ändern Sie den Selektor zu h2 und ändern Sie den color-Wert von red zu purple, zum Beispiel.
  3. Wenn Sie abenteuerlustig sind, versuchen Sie, einige neue CSS-Eigenschaften und Werte im MDN CSS-Referenz nachzuschlagen und zu Ihren Regeln hinzuzufügen!

Zusammenfassung

Jetzt, da Sie ein gewisses Verständnis dafür haben, was CSS ist und wie es funktioniert, lassen Sie uns weitermachen und Ihnen etwas Übung im Schreiben von CSS geben und die Syntax im Detail erklären.