Listen stilisieren
Listen verhalten sich größtenteils wie jeder andere Text, jedoch gibt es einige spezifische CSS-Eigenschaften für Listen, die Sie kennen sollten, ebenso wie einige Best Practices, die zu beachten sind. Dieser Artikel erklärt alles.
Voraussetzungen: | Grundlagen von HTML (siehe Einführung in HTML), Grundlagen von CSS (siehe Einführung in CSS), CSS Text- und Schriftgrundlagen. |
---|---|
Ziel: | Vertrautheit mit den Best Practices und Eigenschaften im Zusammenhang mit dem Stilieren von Listen. |
Ein einfaches Listenbeispiel
Beginnen wir mit einem einfachen Listenbeispiel. Im Laufe dieses Artikels betrachten wir ungeordnete, geordnete und Definitionslisten — alle haben ähnliche Stileigenschaften sowie einige, die speziell für sie gelten. Das nicht gestylte Beispiel finden Sie auf GitHub (auch der Quellcode ist verfügbar).
Das HTML für unser Listenbeispiel sieht folgendermaßen aus:
<h2>Shopping (unordered) list</h2>
<p>
Paragraph for reference, paragraph for reference, paragraph for reference,
paragraph for reference, paragraph for reference, paragraph for reference.
</p>
<ul>
<li>Hummus</li>
<li>Pita</li>
<li>Green salad</li>
<li>Halloumi</li>
</ul>
<h2>Recipe (ordered) list</h2>
<p>
Paragraph for reference, paragraph for reference, paragraph for reference,
paragraph for reference, paragraph for reference, paragraph for reference.
</p>
<ol>
<li>Toast pita, leave to cool, then slice down the edge.</li>
<li>
Fry the halloumi in a shallow, non-stick pan, until browned on both sides.
</li>
<li>Wash and chop the salad.</li>
<li>Fill pita with salad, hummus, and fried halloumi.</li>
</ol>
<h2>Ingredient description list</h2>
<p>
Paragraph for reference, paragraph for reference, paragraph for reference,
paragraph for reference, paragraph for reference, paragraph for reference.
</p>
<dl>
<dt>Hummus</dt>
<dd>
A thick dip/sauce generally made from chick peas blended with tahini, lemon
juice, salt, garlic, and other ingredients.
</dd>
<dt>Pita</dt>
<dd>A soft, slightly leavened flatbread.</dd>
<dt>Halloumi</dt>
<dd>
A semi-hard, unripened, brined cheese with a higher-than-usual melting
point, usually made from goat/sheep milk.
</dd>
<dt>Green salad</dt>
<dd>That green healthy stuff that many of us just use to garnish kebabs.</dd>
</dl>
Wenn Sie jetzt das Live-Beispiel besuchen und die Listenelemente mit Browser-Entwicklertools untersuchen, werden Ihnen ein paar Styling-Standardeinstellungen auffallen:
- Die
<ul>
- und<ol>
-Elemente haben einen oberen und unterenmargin
von16px
(1em
) und einenpadding-left
von40px
(2.5em
). Wenn das Richtung-Attributdir
auf rechts-nach-links (rtl
) fürul
undol
gesetzt ist, kommtpadding-right
zum Einsatz und der Standardwert beträgt ebenfalls40px
(2.5em
). - Die Listenelemente (
<li>
) haben keine festgelegten Vorgaben für den Abstand. - Das
<dl>
-Element hat einen oberen und unterenmargin
von16px
(1em
), jedoch kein gesetztes Padding. - Die
<dd>
-Elemente haben einenmargin-left
von40px
(2.5em
). - Die
<p>
-Elemente, die wir als Referenz hinzugefügt haben, haben einen oberen und unterenmargin
von16px
(1em
) – dasselbe wie die verschiedenen Listentypen.
Umgang mit Listenabständen
Beim Stylen von Listen müssen Sie deren Stil so anpassen, dass sie denselben vertikalen Abstand wie die umgebenden Elemente (z. B. Absätze und Bilder; manchmal als vertikaler Rhythmus bezeichnet) und denselben horizontalen Abstand wie einander aufweisen (Sie können das fertig gestaltete Beispiel auf GitHub sehen und auch den Quellcode finden).
Das CSS, das für die Textstilierung und den Abstand verwendet wird, ist wie folgt:
/* General styles */
html {
font-family: Helvetica, Arial, sans-serif;
font-size: 10px;
}
h2 {
font-size: 2rem;
}
ul,
ol,
dl,
p {
font-size: 1.5rem;
}
li,
p {
line-height: 1.5;
}
/* Description list styles */
dd,
dt {
line-height: 1.5;
}
dt {
font-weight: bold;
}
- Die erste Regel setzt eine websiteweite Schriftart und eine Basisschriftgröße von 10px. Diese werden von allem auf der Seite geerbt.
- Die Regeln 2 und 3 setzen relative Schriftgrößen für die Überschriften, verschiedene Listentypen (die Kinder der Listenelemente erben diese) und Absätze. Das bedeutet, dass jeder Absatz und jede Liste dieselbe Schriftgröße sowie denselben oberen und unteren Abstand haben, was hilft, den vertikalen Rhythmus konsistent zu halten.
- Die Regel 4 setzt dasselbe
line-height
auf die Absätze und Listenelemente — so haben die Absätze und jedes einzelne Listenelement denselben Abstand zwischen den Zeilen. Auch dies wird helfen, den vertikalen Rhythmus konsistent zu halten. - Die Regeln 5 und 6 gelten für die Definitionsliste. Wir setzen dasselbe
line-height
auf die Definitionstermini und -beschreibungen, wie wir es bei den Absätzen und Listenelementen getan haben. Wiederum ist Konsistenz gut! Wir geben den Definitionstermini auch fettgedruckte Schrift, damit sie sich optisch leichter abheben.
Listen-spezifische Stile
Jetzt, da wir allgemeine Abstandsverfahren für Listen betrachtet haben, lassen Sie uns einige listen-spezifische Eigenschaften erkunden. Es gibt drei Eigenschaften, die Sie zunächst kennen sollten und die auf <ul>
- oder <ol>
-Elemente gesetzt werden können:
list-style-type
: Legt den Typ der Aufzählungszeichen fest, die für die Liste verwendet werden sollen, z. B. quadratische oder runde Aufzählungszeichen für eine ungeordnete Liste oder Zahlen, Buchstaben oder römische Ziffern für eine geordnete Liste.list-style-position
: Legt fest, ob die Aufzählungszeichen, die am Anfang jedes Elements erscheinen, innerhalb oder außerhalb der Listen erscheinen.list-style-image
: Ermöglicht die Verwendung eines benutzerdefinierten Bildes für das Aufzählungszeichen anstelle eines einfachen Quadrats oder Kreises.
Aufzählungsstil
Wie oben erwähnt, ermöglicht die Eigenschaft list-style-type
, den Typ des Aufzählungszeichens für die Aufzählungspunkte festzulegen. In unserem Beispiel haben wir die geordnete Liste so eingestellt, dass sie mit großen römischen Zahlen arbeitet:
ol {
list-style-type: upper-roman;
}
Dies ergibt folgendes Aussehen:
Weitere Optionen finden Sie auf der Referenzseite list-style-type
.
Aufzählungsposition
Die Eigenschaft list-style-position
legt fest, ob die Aufzählungszeichen innerhalb der Listenelemente erscheinen oder außerhalb vor dem Anfang jedes Elements. Der Standardwert ist outside
, wodurch die Aufzählungszeichen außerhalb der Listenelemente erscheinen, wie oben zu sehen.
Wenn Sie den Wert auf inside
setzen, stehen die Aufzählungszeichen innerhalb der Zeilen:
ol {
list-style-type: upper-roman;
list-style-position: inside;
}
Verwendung eines benutzerdefinierten Aufzählungsbildes
Die Eigenschaft list-style-image
ermöglicht Ihnen die Verwendung eines benutzerdefinierten Bildes für Ihr Aufzählungszeichen. Die Syntax ist ziemlich einfach:
ul {
list-style-image: url(star.svg);
}
Diese Eigenschaft ist jedoch etwas begrenzt, was das Steuern der Position, Größe usw. der Aufzählungszeichen betrifft. Es ist besser, die background
-Familie von Eigenschaften zu verwenden, die Sie im Artikel zu Hintergründe und Rahmen gelernt haben. Hier ein Vorgeschmack!
In unserem fertigen Beispiel haben wir die ungeordnete Liste wie folgt gestylt (zusätzlich zu dem, was Sie oben bereits gesehen haben):
ul {
padding-left: 2rem;
list-style-type: none;
}
ul li {
padding-left: 2rem;
background-image: url(star.svg);
background-position: 0 0;
background-size: 1.6rem 1.6rem;
background-repeat: no-repeat;
}
Wir haben folgendes getan:
-
Die
padding-left
des<ul>
von dem Standardwert40px
auf20px
reduziert und denselben Wert auf die Listenelemente gesetzt. Dies geschieht, damit die Listenelemente insgesamt immer noch mit den geordneten Listenelementen und den Beschreibungen der Definitionsliste übereinstimmen, aber die Listenelemente etwas Abstand haben, damit die Hintergrundbilder innen sitzen können. Ohne diese Anpassung würden sich die Hintergrundbilder mit dem Text der Listenelemente überschneiden, was unordentlich aussehen würde. -
Die
list-style-type
aufnone
gesetzt, damit standardmäßig keine Aufzählungszeichen erscheinen. Wir verwenden stattdessen diebackground
-Eigenschaften für die Aufzählungszeichen. -
Ein Aufzählungszeichen für jedes Element der ungeordneten Liste eingefügt. Die relevanten Eigenschaften sind wie folgt:
background-image
: Diese verweist auf den Pfad zur Bilddatei, die Sie als Aufzählungszeichen verwenden möchten.background-position
: Diese definiert, wo das Bildhintergrund im ausgewählten Element erscheint — in diesem Fall sagen wir0 0
, was bedeutet, dass das Aufzählungszeichen ganz oben links in jedem Listenelement erscheint.background-size
: Diese bestimmt die Größe des Hintergrundbildes. Wir wollen idealerweise, dass die Aufzählungszeichen dieselbe Größe haben wie die Listenelemente (oder sehr leicht kleiner oder größer). Wir verwenden eine Größe von1.6rem
(16px
), die sehr gut mit dem vorgesehenen20px
-Abstand für das Aufzählungszeichen passt — 16px plus 4px Abstand zwischen dem Aufzählungszeichen und dem Listenelementtext funktioniert gut.background-repeat
: Standardmäßig wiederholen sich Hintergrundbilder, bis sie den verfügbaren Hintergrundraum füllen. Wir möchten in jedem Fall nur eine Kopie des Bildes einfügen, also setzen wir dies auf einen Wert vonno-repeat
.
Dies ergibt folgendes Ergebnis:
list-style Kurzform
Die drei oben erwähnten Eigenschaften können alle mit einer einzigen Kurzform-Eigenschaft, list-style
, festgelegt werden. Zum Beispiel könnte das folgende CSS:
ul {
list-style-type: square;
list-style-image: url(example.png);
list-style-position: inside;
}
durch dieses ersetzt werden:
ul {
list-style: square url(example.png) inside;
}
Die Werte können in beliebiger Reihenfolge aufgelistet werden, und Sie können eines, zwei oder alle drei verwenden (die Standardwerte, die für die nicht enthaltenen Eigenschaften verwendet werden, sind disc
, none
und outside
). Wenn sowohl ein type
als auch ein image
angegeben werden, wird der Typ als Fallback verwendet, falls das Bild aus irgendeinem Grund nicht geladen werden kann.
Kontrolle der Listenzählung
Manchmal möchten Sie in einer geordneten Liste anders zählen — z. B. nicht bei 1 beginnen, rückwärts zählen oder in Schritten von mehr als 1 zählen. HTML und CSS bieten einige Werkzeuge, die Ihnen hier helfen können.
start
Das start
-Attribut erlaubt es Ihnen, die Liste von einer anderen Zahl als 1 starten zu lassen. Das folgende Beispiel:
<ol start="4">
<li>Toast pita, leave to cool, then slice down the edge.</li>
<li>
Fry the halloumi in a shallow, non-stick pan, until browned on both sides.
</li>
<li>Wash and chop the salad.</li>
<li>Fill pita with salad, hummus, and fried halloumi.</li>
</ol>
Gibt Ihnen diese Ausgabe:
reversed
Das reversed
-Attribut wird die Liste rückwärts zählen lassen, anstatt aufwärts. Das folgende Beispiel:
<ol start="4" reversed>
<li>Toast pita, leave to cool, then slice down the edge.</li>
<li>
Fry the halloumi in a shallow, non-stick pan, until browned on both sides.
</li>
<li>Wash and chop the salad.</li>
<li>Fill pita with salad, hummus, and fried halloumi.</li>
</ol>
Gibt Ihnen diese Ausgabe:
Hinweis:
Wenn es in einer umgekehrten Liste mehr Listenelemente gibt als den Wert des start
-Attributs, wird die Zählung bis null und dann in negative Werte fortgesetzt.
value
Das value
-Attribut erlaubt es Ihnen, Ihre Listenelemente auf spezifische numerische Werte zu setzen. Das folgende Beispiel:
<ol>
<li value="2">Toast pita, leave to cool, then slice down the edge.</li>
<li value="4">
Fry the halloumi in a shallow, non-stick pan, until browned on both sides.
</li>
<li value="6">Wash and chop the salad.</li>
<li value="8">Fill pita with salad, hummus, and fried halloumi.</li>
</ol>
Gibt Ihnen diese Ausgabe:
Hinweis:
Selbst wenn Sie einen nicht-numerischen list-style-type
verwenden, müssen Sie dennoch die äquivalenten numerischen Werte im value
-Attribut verwenden.
Aktives Lernen: Eine verschachtelte Liste stilisieren
In dieser aktiven Lerneinheit möchten wir, dass Sie das, was Sie oben gelernt haben, anwenden und eine verschachtelte Liste stilisieren. Wir haben Ihnen das HTML bereitgestellt, und wir möchten, dass Sie:
- Der ungeordneten Liste Quadrataufzählungszeichen geben.
- Den ungeordneten Listenelementen und den geordneten Listenelementen eine Zeilenhöhe von 1.5 ihrer Schriftgröße geben.
- Der geordneten Liste kleine alphabetische Aufzählungszeichen geben.
- Fühlen Sie sich frei, mit dem Listenbeispiel so viel zu experimentieren, wie Sie möchten, sei es mit Aufzählungstypen, Abständen oder allem anderen, was Sie finden können.
Wenn Sie einen Fehler machen, können Sie ihn jederzeit mit der Schaltfläche Reset zurücksetzen. Wenn Sie wirklich feststecken, drücken Sie die Schaltfläche Show solution, um eine mögliche Lösung zu sehen.
Zusammenfassung
Listen sind relativ einfach zu stilisieren, sobald Sie einige grundlegende Prinzipien und spezifische Eigenschaften kennen. Im nächsten Artikel werden wir zu Link-Stilisierungstechniken übergehen.
Siehe auch
CSS-Zähler bieten fortgeschrittene Werkzeuge zum Anpassen der Listenzählung und Gestaltung, sind jedoch ziemlich komplex. Wir empfehlen, sich diese anzusehen, wenn Sie sich herausfordern möchten. Siehe: