Heim > Web-Frontend > CSS-Tutorial > Ist es ethisch vertretbar, Blockelemente mit CSS als Inline-Elemente zu formatieren, die andere Blockelemente enthalten?

Ist es ethisch vertretbar, Blockelemente mit CSS als Inline-Elemente zu formatieren, die andere Blockelemente enthalten?

Mary-Kate Olsen
Freigeben: 2024-12-27 07:52:14
Original
220 Leute haben es durchsucht

Is it Ethical to Style Block Elements as Inline Elements Containing Other Block Elements with CSS?

Ist es ethisch vertretbar, Blockelemente mithilfe von CSS in Inline-Elemente umzuwandeln, wenn sie andere Blockelemente enthalten?

In HTML fließen Blockelemente auf natürliche Weise als einzelne Einheiten, die die gesamte Breite ihres Containers einnehmen. Inline-Elemente hingegen passen in dieselbe Textzeile wie andere Inline-Elemente.

Beachten Sie das folgende gültige HTML-Markup:

<div><p>This is a paragraph</p></div>
Nach dem Login kopieren

Anwenden der folgenden CSS-Regel:

div {
  display: inline;
}
Nach dem Login kopieren

wandelt das div in ein Inline-Element um, während das eingeschlossene p-Element standardmäßig ein Blockelement bleibt. Dadurch entsteht eine Situation, in der ein Inline-Element (das div) ein Blockelement (das p) enthält.

Es stellt sich die Frage: Verstößt dies gegen die HTML-Gültigkeit? Um dies zu beantworten, müssen wir überlegen, wie die HTML-Gültigkeit beurteilt wird. Wird es bestimmt, bevor CSS-Regeln angewendet werden, oder danach?

Gemäß der CSS 2.1-Spezifikation:

When an inline box contains an in-flow block-level box, the inline box (...) is broken around the block-level box (...) splitting the inline box into two boxes.
Nach dem Login kopieren

Mit anderen Worten definiert CSS explizit, wie sich Inline-Elemente verhalten sollen, wenn sie Blockelemente enthalten . In unserem Beispiel ist das div in zwei anonyme Blockboxen aufgeteilt, um das p unterzubringen.

Während die CSS-Spezifikation das Verhalten klar definiert, lässt sie Fragen zur Konsistenz zwischen Browsern offen. Da es sich bei CSS jedoch um einen Webstandard handelt, wird von Browsern erwartet, dass sie dessen Spezifikationen einhalten.

Darüber hinaus hat HTML5 einige dieser Einschränkungen gelockert und erlaubt in bestimmten Kontexten, z. B. innerhalb von Inline-Elementen, Elemente auf Blockebene innerhalb von Inline-Elementen Ankertags. Dies ist besonders nützlich, wenn Sie große Blöcke mit verknüpften Inhalten erstellen.

Ob es akzeptabel ist, Blockelemente in Inline-Elemente mit Blockelementen umzuwandeln, hängt letztendlich vom spezifischen Anwendungsfall und den Bedenken hinsichtlich der Browserkompatibilität ab. Wenn konsistentes Verhalten über alle Browser hinweg von entscheidender Bedeutung ist, ist es möglicherweise vorzuziehen, solche Konstrukte zu vermeiden.

Das obige ist der detaillierte Inhalt vonIst es ethisch vertretbar, Blockelemente mit CSS als Inline-Elemente zu formatieren, die andere Blockelemente enthalten?. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!

Quelle:php.cn
Erklärung dieser Website
Der Inhalt dieses Artikels wird freiwillig von Internetnutzern beigesteuert und das Urheberrecht liegt beim ursprünglichen Autor. Diese Website übernimmt keine entsprechende rechtliche Verantwortung. Wenn Sie Inhalte finden, bei denen der Verdacht eines Plagiats oder einer Rechtsverletzung besteht, wenden Sie sich bitte an admin@php.cn
Neueste Artikel des Autors
Beliebte Tutorials
Mehr>
Neueste Downloads
Mehr>
Web-Effekte
Quellcode der Website
Website-Materialien
Frontend-Vorlage