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: |
|
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.
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:
- Textgestaltung, zum Beispiel um die Farbe und Größe von Überschriften und Links zu ändern.
- Erstellen von Layouts, zum Beispiel, um eine einzelne Textspalte in ein Mehrspaltenlayout zu verwandeln.
- Spezielle Effekte wie Animationen.
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:
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 diecolor
-Eigenschaft festgelegt wird). - Dieses Beispiel enthält zwei Deklarationen, eine für
color
und eine andere fürfont-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.
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:
<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:
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:
- 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.
- 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 derh1
-Regel, ändern Sie den Selektor zuh2
und ändern Sie dencolor
-Wert vonred
zupurple
, zum Beispiel. - Wenn Sie abenteuerlustig sind, versuchen Sie, einige neue CSS-Eigenschaften und Werte im MDN CSS-Referenz nachzuschlagen und zu Ihren Regeln hinzuzufügen!