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 Elemente in React-Projekten

Dies ist mein erstes Mal, dass ich das Element-Fr...

Farbverlauf für HTML-Hintergrund durch CSS erreicht

Screenshots der Effekte: Implementierungscode: Cod...

Lassen Sie uns über den Unterschied zwischen MyISAM und InnoDB sprechen

Die Hauptunterschiede sind folgende: 1. MySQL ver...

Problemlösungsvorgänge für Alpine Docker-Bildschriftarten

1. Führen Sie Schriftarten aus, öffnen Sie den Sc...

Tutorial zur Installation und Konfiguration von MySQL Workbench unter CentOS

In diesem Artikel finden Sie das Installations- u...

Eine kurze Analyse der Verwendung von Rahmen- und Anzeigeattributen in CSS

Einführung in Rahmeneigenschaften border -Eigensc...

Zusammenfassung der Verwendung des CSS-Bereichs (Stilaufteilung)

1. Verwendung des CSS-Bereichs (Stilaufteilung) I...

Einige Kenntnisse über die absolute und relative Positionierung von Seitenelementen

Ab heute werde ich regelmäßig kleine Wissenspunkte...

So fügen Sie einer großen MySQL-Tabelle eine Spalte hinzu

Die Frage wird hier zitiert: https://www.zhihu.co...

Zusammenfassung der schnellen Spaltenaddition bei MySQL 8.0 Online DDL

Inhaltsverzeichnis Problembeschreibung Historisch...