CSS: Gestaltung des Inhalts
CSS (Cascading Style Sheets) ist der Code, der Webinhalte stylt. Dieser Artikel führt Sie durch ein grundlegendes Verständnis von CSS – wie es funktioniert und wie Sie das Aussehen und die Anmutung der Inhaltsstruktur verbessern können, die Sie im vorherigen Artikel erstellt haben.
Voraussetzungen: | Grundlegende Vertrautheit mit Ihrem Computer-Betriebssystem, der grundlegenden Software, die Sie zum Erstellen einer Website verwenden, und Dateisystemen. |
---|---|
Lernziele: |
|
Was ist CSS?
Wie HTML ist CSS keine Programmiersprache. Es ist auch keine Auszeichnungssprache. CSS ist eine Stylesheet-Sprache. CSS wird verwendet, um HTML-Elemente zu stylen: Sie wählen die Elemente aus, die Sie stylen möchten, und setzen Werte für ihre Stileigenschaften, die definieren, wie sie aussehen werden.
Lassen Sie uns das grundlegende HTML-Beispiel aus dem Artikel Inhalt erstellen erneut betrachten:
<p>Instructions for life:</p>
<ul>
<li>Eat</li>
<li>Sleep</li>
<li>Repeat</li>
</ul>
Dies wird alleine wie folgt gerendert:
Wenn wir etwas CSS hinzufügen, können wir das Aussehen des HTML ändern. Im folgenden Ausschnitt wird das <p>
-Element ausgewählt und erhält eine andere Schriftart und eine rote Text-color
. Dann werden alle <li>
-Elemente ausgewählt und erhalten jeweils eine grün-gelbe background-color
, einen 1-Pixel langen schwarzen border
und einen 5-Pixel Unterabstand:
p {
font-family: sans-serif;
color: red;
}
li {
background-color: greenyellow;
border: 1px solid black;
margin-bottom: 5px;
}
Mit dem auf das HTML angewandten CSS sieht die Demo jetzt so aus:
Wie Sie sehen können, konnten wir mit nur ein wenig CSS das Aussehen einer einfach aussehenden Liste verändern.
CSS bietet viele weitere Funktionen, von der Spezifikation von Hintergrundbildern und Verläufen bis hin zur Steuerung der Typografie und des Scrollverhaltens, dem Hinzufügen von Animationen und dem Aufbau ganzer Webseitenlayouts.
Anwendung von CSS auf Ihr HTML
Bei der Verwendung von CSS ist das Erste, das sicherzustellen ist, dass Ihr CSS erfolgreich auf Ihr HTML angewendet wird. In diesem Abschnitt fügen wir Ihrem first-website
ein CSS-Stylesheet hinzu und wenden es auf Ihre Seite an.
-
Erstellen Sie in Ihrem Ordner
first-website
einen neuen Ordner namensstyles
. -
Verwenden Sie einen Texteditor, um das folgende CSS in eine neue Datei einzufügen, die Ihren
<p>
-Elementen eine rote Textfarbe gibt. Es ist nützlich, mit etwas derartigem zu beginnen, um zu testen, ob Ihr Stylesheet korrekt auf Ihr HTML angewendet wird.cssp { color: red; }
-
Speichern Sie die Datei im Ordner
styles
unter dem Namenstyle.css
. -
Öffnen Sie Ihre Datei
index.html
. Fügen Sie die folgende Zeile innerhalb des HTML-Kopfs (zwischen den<head>
und</head>
-Tags) ein:html<link href="styles/style.css" rel="stylesheet" />
-
Speichern Sie
index.html
und laden Sie es in Ihrem Browser. Sie sollten etwas in der Art sehen:
Wenn Ihr Absatztext rot ist, Glückwunsch! Ihr CSS funktioniert. Wenn nicht, gehen Sie die obigen Schritte durch und überprüfen Sie sorgfältig, ob Sie jeden einzelnen korrekt befolgt haben.
Grundlagen der CSS-Syntax
Im vorherigen CSS-Beispiel wird p
als Selektor bezeichnet – es wählt das/die zu stylende(n) Element(e) aus. Insbesondere wählt p
alle Absätze im HTML aus. Die Zeile in den geschweiften Klammern ({ }
) wird als Deklaration bezeichnet – sie setzt einen Wert für eine spezifische Eigenschaft. In diesem Fall ist die Eigenschaft color
, die die Textfarbe der Absätze steuert, und der festgelegte Eigenschaftswert ist red
.
Die gesamte Struktur wird als Regelset bezeichnet. (Der Begriff Regelset wird oft einfach als Regel bezeichnet.)
Schauen wir uns ein weiteres Regelset an, diesmal mit mehreren Deklarationen:
p {
color: red;
width: 500px;
border: 1px solid black;
}
Innerhalb eines Regelsets müssen Sie ein Semikolon (;
) verwenden, um eine Deklaration von der nächsten zu trennen. Innerhalb jeder Deklaration müssen Sie einen Doppelpunkt (:
) verwenden, um die Eigenschaft und ihren Wert zu trennen.
Sie können auch mehrere Selektoren in einer Regel einschließen, getrennt durch Kommas, um mehrere Elemente auszuwählen. Zum Beispiel:
p,
.my-class,
#my-id {
color: red;
}
In dieser CSS-Regel haben wir einen Element- (oder Typ-) Selektor eingeschlossen, der ein spezifisches HTML-Element auswählt. Wir haben auch zwei andere Selektortypen eingeschlossen, die für den Rest dieses Tutorials nicht relevant sind. Wenn Sie neugierig auf ihre Funktionalität sind, schauen Sie sich unseren Grundlegende Selektoren Leitfaden an.
Hinweis: Scrimbas Schreiben Sie Ihre ersten Zeilen CSS! MDN Lernpartner bietet eine nützliche interaktive Einführung in die CSS-Syntax.
Verbesserung des Textes
Lassen Sie uns zu unserem Beispiel zurückkehren und CSS verwenden, um das Aussehen des Textes zu verbessern. Wir werden eine neue Schriftart für die Seite festlegen und einige Texteinstellungen für verschiedene Elemente ändern.
-
Finden Sie zunächst den Ausgabe-Code von Google Fonts, den Sie zuvor gespeichert haben. Wenn Sie noch keine Schriftart ausgewählt haben, folgen Sie dem Link und tun Sie es jetzt.
-
Fügen Sie die
<link>
-Elemente innerhalb Ihres<head>
vonindex.html
ein, direkt vor dem schließenden</head>
-Tag. Sie sollten in etwa so aussehen:html<link rel="preconnect" href="https://fonts.googleapis.com" /> <link rel="preconnect" href="https://fonts.gstatic.com" crossorigin /> <link href="https://fonts.googleapis.com/css2?family=Roboto:ital,wght@0,100..900;1,100..900&display=swap" rel="stylesheet" />
Dieser Code verlinkt Ihre Seite mit einem Stylesheet, das vom Google Fonts-Dienst gehostet wird und Ihre gewählte Schriftart lädt.
-
Gehen Sie dann zu Ihrer Datei
style.css
und löschen Sie die bestehende Regel. Wir möchten nicht mehr, dass unsere Absätze rot sind. -
Fügen Sie die folgenden Zeilen zu
style.css
hinzu:csshtml { /* px means "pixels". The base font size is now 10 pixels high */ font-size: 10px; /* Replace PLACEHOLDER with the font-family property value you got from Google Fonts */ font-family: PLACEHOLDER; }
Hinweis: Alles in CSS zwischen
/*
und*/
ist ein CSS-Kommentar, der vom Browser ignoriert wird. CSS-Kommentare sind eine Möglichkeit, hilfreiche Anmerkungen zu Ihrem Code oder Ihrer Logik beizufügen, ohne zu beeinflussen, wie Ihre Webseite gerendert wird. -
Ersetzen Sie die Platzhalterzeile
font-family
durch diefont-family
-Zeile von Ihrem Google Fonts-Code, zum Beispiel:cssfont-family: "Roboto", sans-serif;
Die
font-family
-Eigenschaft setzt die Schriftart(en), die Sie auf Ihr HTML anwenden möchten. Diese Regel definiert eine globale Basis-Schriftart und -Schriftgröße für die gesamte Seite. Alle Elemente innerhalb des<html>
-Elements erben dieselbefont-size
undfont-family
. -
Lassen Sie uns nun einige Schrift- und Textstile auf unsere
<h1>
,<li>
, und<p>
-Elemente anwenden. Wir werden neuefont-size
-Werte für jedes Element festlegen. Wir werden auch die Überschrift mittext-align
zentrieren und dieline-height
undletter-spacing
der Absätze und Listenelemente erhöhen, um den Hauptinhalt leichter lesbar zu machen.cssh1 { font-size: 60px; text-align: center; } p, li { font-size: 16px; line-height: 2; letter-spacing: 1px; }
-
Speichern Sie Ihren Code und laden Sie Ihr HTML in einem Browser (aktualisieren Sie es, wenn Sie es bereits geöffnet haben). Ihr Arbeitsentwurf sollte in etwa so aussehen:
Hinweis: Versuchen Sie, die
px
-Werte anzupassen, bis Sie Schriftgrößen erhalten, die Ihnen für Ihre Überschrift und den Fließtext gefallen.
CSS dreht sich alles um Boxen
Ein Punkt, den Sie bei der Verwendung von CSS bemerken werden, ist, dass vieles mit Boxen zu tun hat. Die meisten HTML-Elemente auf einer Seite können als Boxen betrachtet werden, die auf oder neben anderen Boxen sitzen. Sie können Werte auf diesen Boxen für Größe, Farbe, Positionierung usw. setzen. Dies wird als das Boxmodell bezeichnet.
Jede Box, die Platz auf Ihrer Seite einnimmt, hat Eigenschaften wie:
padding
: Der Raum um den Inhalt. Im vorherigen Beispiel ist es der Raum um den Absatztext.border
: Die feste Linie direkt außerhalb des Innenabstands.margin
: Der Raum außerhalb des Randes.
In diesem Abschnitt verwenden wir auch die folgenden Eigenschaften, von denen Sie einige bereits gesehen haben:
width
: Die Breite eines Elements.background-color
: Die Farbe hinter dem Inhalt und dem Innenabstand eines Elements.color
: Die Farbe des Inhalts eines Elements (normalerweise Text).text-shadow
: Ein Schlagschatten auf dem Text in einem Element.display
: Der Anzeigemodus eines Elements (was im Wesentlichen darauf verweist, wie es auf der Webseite erscheint oder angeordnet ist).
In jedem der folgenden Abschnitte:
- Fügen Sie den bereitgestellten CSS-Code am Ende Ihrer
style.css
-Datei hinzu. - Speichern Sie die Datei und aktualisieren Sie Ihren Browser, um zu sehen, wie das CSS das HTML-Rendering beeinflusst hat.
- Lesen Sie die bereitgestellte Erklärung, um zu verstehen, wie das CSS funktioniert.
- Wenn Sie abenteuerlustig sind, experimentieren Sie mit der Änderung der Eigenschaftswerte, um Ihre Seite weiter anzupassen.
Ändern der Seitenfarbe
Fügen Sie das Folgende hinzu:
html {
background-color: #00539f;
}
Diese Regel setzt eine Hintergrundfarbe für die gesamte Seite. Ändern Sie den Farbcodes entsprechend der Farbe, die Sie in Wie soll Ihre Webseite aussehen? gewählt haben.
Stylen des Body
Fügen Sie als Nächstes diese Regel hinzu:
body {
width: 600px;
margin: 0 auto;
background-color: #ff9500;
padding: 0 20px 20px 20px;
border: 5px solid black;
}
Der obige Code setzt neue Werte für mehrere Eigenschaften des <body>
-Elements. Lassen Sie uns diese Zeilenweise durchgehen:
width: 600px;
: Dadurch wird der Body auf immer 600 Pixel Breite eingestellt.margin: 0 auto;
: Wenn Sie zwei Werte auf eine Eigenschaft wiemargin
oderpadding
setzen, beeinflusst der erste Wert die obere und untere Seite des Elements (hier auf0
gesetzt); der zweite Wert beeinflusst die linke und rechte Seite.auto
ist ein spezieller Wert, der den verfügbaren horizontalen Raum gleichmäßig zwischen links und rechts aufteilt.background-color: #FF9500;
: Dies setzt die Hintergrundfarbe des Elements. Unser Projekt verwendet ein rötliches Orange für die<body>
-Hintergrundfarbe, um mit dem dunklen Blau, das für das<html>
-Element verwendet wird, zu kontrastieren.padding: 0 20px 20px 20px;
: Dies setzt vier Werte für den Innenabstand. Das Ziel ist, etwas Platz um den Inhalt zu schaffen. In diesem Beispiel gibt es oben am Body keinen Innenabstand und 20 Pixel an der rechten, unteren und linken Seite. Die Werte setzen Innenabstand oben, rechts, unten und links, in dieser Reihenfolge.border: 5px solid black;
: Dies setzt die Werte für Breite, Stil und Farbe des Randes. In diesem Fall ist es ein 5-Pixel breiter, fester schwarzer Rand um alle Seiten des Bodys.
Positionierung und Stylen des Hauptseitentitels
Fügen Sie nun dies hinzu:
h1 {
margin: 0;
padding: 20px 0;
color: #00539f;
text-shadow: 3px 3px 1px black;
}
Ihnen ist vielleicht ein unschönes Loch oben am Body aufgefallen. Das passiert, weil Browser standardmäßig Styling auf das <h1>
-Element anwenden. Das mag wie eine schlechte Idee erscheinen, aber die Absicht ist, unformatierte Seiten grundlegend lesbar zu machen. Um das Loch zu entfernen, überschreiben wir das Standard-Styling des Browsers mit der Einstellung margin: 0;
.
Als Nächstes setzen wir den oberen und unteren Innenabstand der Überschrift auf 20 Pixel und setzen die Textfarbe der Überschrift auf dieselbe Farbe wie die Hintergrundfarbe des HTML.
Schließlich wendet text-shadow
einen Schatten auf den Textinhalt des Elements an:
- Der erste Pixelwert setzt den horizontalen Versatz des Schattens vom Text: wie weit er sich nach rechts bewegt.
- Der zweite Pixelwert setzt den vertikalen Versatz des Schattens vom Text: wie weit er sich nach unten bewegt.
- Der dritte Pixelwert setzt den Unschärferadius des Schattens. Ein größerer Wert erzeugt einen unschärfer aussehenenden Schatten.
- Der vierte Wert setzt die Basisfarbe des Schattens.
Zentrieren des Bildes
Fügen Sie schließlich diese Regel hinzu:
img {
display: block;
margin: 0 auto;
max-width: 100%;
}
Als Nächstes zentrieren wir das Bild, um es besser aussehen zu lassen. Wir können denselben margin: 0 auto
Trick wie beim Body verwenden, aber es gibt Unterschiede, die eine zusätzliche Einstellung erfordern, damit das CSS funktioniert.
Das <body>
-Element ist ein Block-Element, was bedeutet, dass es Platz auf der Seite einnimmt und Rand-, Innenabstands- und andere Box-Eigenschaften akzeptieren kann. <img>
(Bild-)Elemente sind hingegen Inline-Elemente: standardmäßig akzeptieren sie Randwerte nicht auf die gleiche Weise wie Block-Elemente. Damit der automatisierte Rand-Trick bei diesem Bild funktioniert, müssen wir ihm blockhaftes Verhalten geben, indem wir display: block;
verwenden.
Schließlich setzen wir die max-width
Eigenschaft auf 100%
, um sicherzustellen, dass, wenn das Bild größer ist als die auf den Body gesetzte width
(600 Pixel), es auf 600px
begrenzt wird und nicht breiter als das dehnbar ist.
Hinweis:
Seien Sie nicht zu besorgt, wenn Sie display: block;
und die Unterschiede zwischen einem Blockelement und einem Inline-Element oder max-width: 100%;
nicht vollständig verstehen. Sie werden mehr Sinn machen, wenn Sie Ihr CSS-Studium fortsetzen.
Fazit
Wenn Sie alle Anweisungen in diesem Artikel befolgt haben, sollten Sie eine Seite haben, die etwa so aussieht:
Sie können unsere Version hier ansehen. Wenn Sie stecken bleiben, können Sie Ihre Arbeit immer mit unserem fertigen Beispielcode auf GitHub vergleichen.
In diesem Artikel haben wir nur an der Oberfläche von CSS gekratzt. Sie werden viel mehr in unserem CSS-Styling-Grundlagen Kernmodul später im Kurs lernen.
Siehe auch
- Lernen Sie HTML und CSS, Scrimba MDN Lernpartner
-
Der Scrimba Lernen Sie HTML und CSS Kurs lehrt Ihnen HTML und CSS durch den Bau und die Bereitstellung von fünf großartigen Projekten, mit unterhaltsamen interaktiven Lektionen und Herausforderungen, die von kenntnisreichen Lehrern unterrichtet werden.