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

Zählen Sie die Listen-Tags in HTML

1. <dl> definiert eine Liste, <dt> de...

Installieren Sie Python 3.6 unter Linux und vermeiden Sie Fallstricke

Installation von Python 3 1. Abhängige Umgebung i...

Verwendung des Linux-Befehls bzip2

1. Befehlseinführung bzip2 wird zum Komprimieren ...

Semantisierung von HTML-Tags (einschließlich H5)

einführen HTML stellt die kontextuelle Struktur u...

Verwendung des Zielattributs des HTML-Tags a

1: Wenn Sie das Tag <a> zum Verlinken auf ei...

Detaillierte Erläuterung der Anwendungsbeispiele für Vue-Router 4

Inhaltsverzeichnis 1. Installieren und erstellen ...

Schritte zur Installation von Pyenv unter Deepin

Vorwort In der Vergangenheit habe ich die Python-...

Hinweise zu Linux-Systembefehlen

Dieser Artikel beschreibt die Linux-Systembefehle...

Detaillierte Erläuterung der MERGE-Speicher-Engine von MySQL

Die MERGE-Speicher-Engine behandelt eine Gruppe v...

Das Konzept und die Eigenschaften von benutzerdefinierten MySQL-Variablen

Ein MySQL Custom Value ist ein temporärer Contain...

Detaillierte Erklärung der Vue-Filter

<Text> <div id="Wurzel"> &l...