Wenn Sie Dinge auf einer Website ordnen möchten, ist die geordnete Liste (<ol>) wahrscheinlich Ihre erste Wahl. Es ist auch verständlich, dass Sie diese Nummern formatieren möchten. Seltsamerweise ist die Formatierung dieser Listen-Nummern in CSS nicht sehr einfach. Glücklicherweise ist es auch nicht unmöglich. Roger Johansson hat ein Tutorial, das zeigt, wie es mit dem Pseudo-Element :before gemacht werden kann, das einen counter als Wert für die Eigenschaft content haben kann.

Aber lassen Sie es sich gesagt sein, die Anwendung von nummerierten Zählern ist nicht auf geordnete Listen beschränkt. Sagen wir zum Beispiel, Sie möchten die Frage-Antwort-Paare einer FAQ-Liste nummerieren.
Sie hätten Markup wie dieses
<dl class="faq">
<dt>How much wood would a wood chuck chuck if a wood chuck could chuck wood?</dt>
<dd>1,000,000</dd>
<dt>What is the air-speed velocity of an unladen swallow?</dt>
<dd>What do you mean? An African or European swallow?</dd>
<dt>Why did the chicken cross the road?</dt>
<dd>To get to the other side</dd>
</dl>
Jedes neue <dt>-Element ist eine neue Frage, daher sollten wir die Nummerierung hier anwenden. Es ist so einfach wie das hier
.faq {
counter-reset: my-badass-counter;
}
.faq dt:before {
content: counter(my-badass-counter);
counter-increment: my-badass-counter;
}
Formatieren Sie das :before-Element nach Belieben. Zum Beispiel

Ich wollte Sie nur auf diese Möglichkeit aufmerksam machen. Wenn sie Ihnen erst einmal bewusst ist, denken Sie an alle möglichen Dinge, die Sie nummerieren können. Ich habe zum Beispiel kürzlich eines meiner Lieblingsrezepte gebloggt und jeden Schritt/jedes Foto mit blockigen römischen Ziffern nummeriert.

list-style-type sein kann. Nämlich
disc (• • •)
circle (○ ○ ○)
square (▪ ▪ ▪)
decimal (1 2 3)
decimal-leading-zero (01, 02, 03)
lower-roman (i ii iii)
upper-roman (I II III)
lower-greek (α β γ)
lower-latin (a b c)
upper-latin (A B C)
armenian (Ա Բ Գ)
georgian (ა ბ გ)
lower-alpha (a b c)
upper-alpha (A B C)
Alles, was Sie tun müssen, ist, dies im Zählerwert selbst anzugeben
content: counter(my-counter, lower-roman);
Die Zukunft
Das oben Genannte ist cool und gehört zur Kategorie „Heute nutzbar™“. Aber es fühlt sich fast nach einem Hack an, wenn man den Sprung bedenkt, den CSS3-Listen machen. Sobald die Browserunterstützung dafür vorhanden ist, können wir Dinge tun wie den Marker der Liste nach Belieben ansprechen
/*
Examples from THE FUTURE
No browser support at the time of this writing
*/
li::marker {
width: 30px;
text-align: right;
margin-right: 10px;
display: inline-block;
}
ol {
list-style: symbols("*" "\2020" "\2021" "\A7");
}
ul {
list-style-type: "★";
}
Tolle Darstellung von Listen und Definitionen! Ich könnte mir viele Fälle vorstellen, in denen dies nützlich sein wird.
Ich hatte keine Ahnung, dass dies mit reinem CSS erreicht werden kann – eine großartige Anleitung (wie immer) Chris!
Hallo, können Sie einen HTML- und CSS-Code für das erste Bild hinzufügen (posten)?
Ich mag das Design, das man auf dem ersten Bild sehen kann.
Danke.
Oh, entschuldigung, da ist ein Link. Also nichts. Danke.
Chris... laut Wolfram Alpha (ihre Quelle ist angegeben) – ein Murmeltier kann 361,9237001 Kubikzentimeter Holz schwingen – (wenn es Holz schwingen könnte) – NICHT die „1.000.000“, die Sie auflisten. Nur zur Information, falls Sie das offensichtlich unbeabsichtigte Fauxpas korrigieren möchten.
ps – Ich bin froh, dass Sie wieder da sind und Ihr Leben weitergeht: Wir haben Sie vermisst!
Offensichtlich sind das 361,9237001 cc/Tag.
Entschuldigung, die richtige Antwort ist tatsächlich „ein Haufen“.
Die richtige Antwort ist eigentlich
Das Holz, das ein Murmeltier schwingen würde. Ist das Holz, das ein Murmeltier schwingen könnte. Wenn ein Murmeltier Holz schwingen könnte.
Ich habe dies in den letzten Jahren recht häufig verwendet, wenn es angebracht war, da es für die Optik großartig und sehr flexibel ist.
Es ist jedoch erwähnenswert, dass die Notwendigkeit,
list-style-typeaufnonezu setzen, bedeutet, dass es wirklich nur für Inhalte geeignet ist, die Sie wie eine Liste formatieren möchten.Alles, was tatsächlich eine Liste sein sollte, sollte nicht seine Listenart entfernt bekommen, wenn Sie es vermeiden können, da dies das semantische Verständnis bei den meisten ATs erheblich reduziert.
Ich hatte kürzlich ein Projekt, das einen „Countdown“ erforderte. Ich habe diese Technik verwendet, um die Liste rückwärts zählen zu lassen (von 10 bis 1)
$trade; => ™
Wow. Das ist sehr neu für mich :(o)
Schön! Danke
Wie sieht es mit der Kompatibilität aus?
Sehr nützlich zu wissen, aber warum sind die Zutaten für Ihr Fleischküchler-Rezept nicht als Liste markiert?
gut gemacht, Mann! Danke vielmals!
Ich lerne jeden Tag etwas Neues! Danke für den Tipp!
Ich liebe diese Idee, ich bin selbst vor kurzem darauf gestoßen, als ich versuchte, den linken Abstand auf dem Inhalt des Listenelements gleichmäßig zu bekommen, um „hallo“ vertikal auszurichten
6 hallo
66 hallo
666 hallo
aber mit :before können wir :inline-block begrüßen und eine Breite festlegen!
http://jsfiddle.net/sQaeR/
Chris, ich habe die CSS-Eigenschaft
counter-resetüberprüft, und W3Schools sagt, dass sie zu CSS2 gehört. Wie seltsam, dass diese Eigenschaft bei Designern so verloren ist.Um ehrlich zu sein, war dies das erste Mal, dass ich diese Eigenschaft getroffen habe. Haben Sie eine Referenz auf die W3-Spezifikation, in der diese Eigenschaft definiert ist?
Dies ist ein wirklich hilfreicher Beitrag, der jedoch eine Korrektur erfordert
ein Murmeltier würde so viel Holz schwingen, wie es schwingen könnte, wenn ein Murmeltier Holz schwingen könnte.
Toller Artikel Chris! Ich habe vor ein paar Tagen einen ähnlichen (relativ) Artikel veröffentlicht – Verwenden Sie :pseudo-elemente als Alternativen für list-style-image.
Gut zu wissen, danke Chris!
Für Leute, die nach der Kompatibilität fragen, ist sie in allen wichtigen Browsern außer IE7 (und früher) in Ordnung. IE7 unterstützt die Pseudo-Elemente :before/:after nicht.
Aber IE7 hat weltweit weniger als 5 % Nutzung!!!!
http://gs.statcounter.com/#browser_version-ww-monthly-201111-201111-bar
Großartig und sehr nützlich.
Danke
Toller Artikel; es sieht so aus, als ob die Zukunft der CSS3-Listen es wert sein wird, im Auge behalten zu werden.
Habe einen Tippfehler entdeckt: „One browser support for that comes along“ -> „Once browser support…“
Tolle Anleitung, wie immer schöne Sachen
schöner Artikel..
Ich habe diese Art von Artikeln vor ein paar Tagen gefunden..
Ich habe viele Methoden ausprobiert, um einen automatischen Countdown zu erhalten, aber nichts hat funktioniert, gibt es Ideen dazu?
Wenn jemand weitere Inspiration für benutzerdefinierte Listen sucht, die diese Technik verwenden, schauen Sie sich diesen Beitrag an!
Diese Technik wird aufgrund der WCAG 2.0-Anforderungen für Web-Zugänglichkeit nicht sehr empfohlen. Wie erfahren Gehörlose/Blinde, dass eine Liste eigentlich die Nr. 1 von 3 ist, wenn diese Technik keinen tatsächlichen Text oder Wert generiert, der die Nummer enthält. Ich würde von der Verwendung dieser Technik dringend abraten.