Ist das Tag „li“ ein Blockelement?

Ist das Tag „li“ ein Blockelement?
Warum kann es die Höhe festlegen, aber im Gegensatz zu Elementen wie <h1 /> fühlt es sich an, als wäre es ein „Semi-Inline“-Element (inline: inline[text]-Ebene). HTML4 beschreibt es folgendermaßen:

Die folgenden Elemente können auch als Elemente auf Blockebene betrachtet werden, da sie Elemente auf Blockebene enthalten können:

  • DD – Definition Beschreibung
  • DT – Definition Begriff
  • RAHMENSET – Rahmenset
  • LI – Listenelement
  • TBODY – Tabellenkörper
  • TD – Tabellendatenzelle
  • TFOOT – Tischfuß
  • TH – Tabellenkopfzelle
  • THEAD – Tischkopf
  • TR – Tabellenzeile

Diese Beschreibung scheint zu besagen, dass <li /> ein „Semi-Inline“-Element ist. Natürlich haben auch Elemente wie <td /> in dieser Liste bei mir solche Zweifel hervorgerufen. Heute habe ich mir die Standard-CSS verschiedener Browser angeschaut. Das Ergebnis ist folgendes:

Browser CSS
IE6/IE7 li{display:block; }
IE8+ / Webkit / Firefox / Opera li{display:list-item; }

Hier ist es grundsätzlich klar. In anderen A-Grade-Browsern als IE6/7 ist es ein „Semi-Inline“-Element. Apropos display:list-item; Obwohl es mittlerweile von allen erstklassigen Browsern unterstützt wird, verwenden es nicht viele Leute. Warum? Eigentlich ist es nutzlos. Im Quirks-Modus sagt PPK:

display: list-item bedeutet, dass das Element als Listenelement angezeigt wird, was hauptsächlich bedeutet, dass es einen Aufzählungspunkt davor hat (wie ein UL), außer in IE 5 auf dem Mac, wo es eine Nummer bekommt (wie ein OL). Die Nummern sind fehlerhaft: alle vorherigen LIs auf der Seite zählen als eins, daher beginnt dieses Beispiel mit der Nummer 5 (der Screenshot wurde gemacht, bevor ich meine Kompatibilitäts-LIs eingefügt habe).

Live-Beispiel:

Anzeige: Block

Anzeige: Listenelement
Anzeige: Listenelement

Rechts. Eigentlich bedeutet das nicht viel. Aber es hat auch einen meiner Zweifel gelöst. Teilen Sie es. Wenn Sie solche Zweifel haben, können Sie vielleicht beim nächsten Mal, wenn Sie beim Codieren auf einen Fehler oder andere Fragen stoßen, schnell reagieren.

<<:  Implementierungscode zum Speichern von Bildern in der MySQL-Datenbank und deren Anzeige auf der Front-End-Seite

>>:  Durch die Anpassung des mobilen Endgeräts wird px automatisch in rem umgewandelt

Artikel empfehlen

So verwenden Sie JS zum Parsen des Excel-Inhalts in der Zwischenablage

Inhaltsverzeichnis Vorwort 1. Ereignisse und Zwis...

Fallzusammenfassung zur Vue-Komponentenkommunikationsmethode

Inhaltsverzeichnis 1. Übergeordnete Komponente üb...

Docker-Installations- und Konfigurationsschritte für das Redis-Image

Inhaltsverzeichnis Vorwort Umfeld Installieren Er...

Eine vorläufige Studie zu JSBridge in Javascript

Inhaltsverzeichnis Der Ursprung von JSBridge Das ...

Fallstudie zur Übermittlung von HTML-Formularen

Um die Methode zur Formularübermittlung zusammenz...

Detaillierte Erklärung zur Verwendung von Filtereigenschaften in CSS3

Als ich kürzlich das Intranet-Portal änderte, sti...

Eine kurze Erläuterung zum eleganten Löschen großer Tabellen in MySQL

Inhaltsverzeichnis 1. Truncate-Operation 1.1 Welc...

Vergleich der Vorteile von vue3 und vue2

Inhaltsverzeichnis Vorteil 1: Optimierung des Dif...

Detailliertes Tutorial zur Installation von MariaDB auf CentOS 8

Das Datenbankverwaltungssystem MariaDB ist ein Zw...

MySQL-Beispielcode für die Addition und Subtraktion von Datum und Uhrzeit

Inhaltsverzeichnis 1.MySQL addiert oder subtrahie...