Heim  >  Artikel  >  Web-Frontend  >  F: Was passiert, wenn CSS-Attribute in Browsern im Quirks-Modus keine Einheiten haben?

F: Was passiert, wenn CSS-Attribute in Browsern im Quirks-Modus keine Einheiten haben?

DDD
DDDOriginal
2024-10-24 09:32:02705Durchsuche

Q: What Happens When CSS Attributes Lack Units in Quirks Mode Browsers?

CSS-Attribute ohne Einheit: Fallback auf PX

In CSS mag es praktisch erscheinen, Einheiten aus Attributwerten wegzulassen. Dies kann jedoch zu unerwarteten Fallback-Szenarien führen. Im Quirks-Modus verhalten sich Browser möglicherweise inkonsistent, wenn sie auf einheitenlose Attribute stoßen. In diesem Artikel werden das Fallback-Verhalten, seine Auswirkungen und Inkonsistenzen zwischen verschiedenen Browsern untersucht.

Fallback auf PX

Wenn einem CSS-Attribut eine Einheit wie „px“ fehlt, „em“ oder „%“ verwenden Browser möglicherweise standardmäßig eine Fallback-Einheit. Im Quirks-Modus wählen viele Browser „px“ als Fallback-Einheit. Dieses Verhalten stimmt mit älteren HTML-Attributen überein, die Pixellängen als einheitenlose Werte akzeptierten.

Dieses Verhalten ist jedoch nicht in allen Browsern konsistent. Einige Browser, wie Internet Explorer 7 und höher im Standardmodus, ignorieren Regelattribute, denen Einheiten fehlen, während andere Browser, wie Chrome, Firefox und Safari, weiterhin auf „px“ zurückgreifen.

W3C-Spezifikation

Die W3C-Spezifikation für CSS besagt, dass alle Längenwerte ungleich Null Einheiten haben müssen. Daher sind einheitenlose Attribute nicht gültig. Diese Spezifikation gilt für das Rendern im Standardmodus. Im Quirks-Modus haben Browser mehr Freiheit, eigenartiges Verhalten zu implementieren, was die Unterschiede im Fallback-Verhalten erklären kann.

Obligatorische Fallback-Regel

Es gibt keine spezifische Regel, die dies vorschreibt Browser können auf eine bevorzugte Einheit zurückgreifen. Diese Entscheidung liegt im Ermessen des Browsers und kann je nach Browserversion, Rendering-Modus und spezifischen Eigenschaften variieren.

Beispielverhalten

Internet Der Explorer verhält sich im Quirks-Modus und im Standardmodus unterschiedlich. Im Quirks-Modus wurden Breite und Rahmenbreite auf „px“ zurückgesetzt. Im Standardmodus werden jedoch Attributregeln ignoriert, denen Einheiten fehlen.

Firefox unterscheidet sich vom Internet Explorer im Mackenmodus. Die Breite wird auf „px“ zurückgesetzt, das Attribut „border-width“ wird jedoch ignoriert. Chrome, Opera und Safari setzen im Quirks-Modus alle sowohl die Breite als auch die Rahmenbreite auf „px“ zurück.

Fazit

Von der Verwendung von einheitenlosen Attributen in CSS wird abgeraten. Dies kann zu unerwarteten Ergebnissen und Browser-Inkonsistenzen führen, insbesondere im Quirks-Modus. Durch die Einhaltung der W3C-Empfehlung, Einheiten für alle Längenwerte anzugeben, wird eine konsistente Darstellung in allen Browsern gewährleistet.

Das obige ist der detaillierte Inhalt vonF: Was passiert, wenn CSS-Attribute in Browsern im Quirks-Modus keine Einheiten haben?. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!

Stellungnahme:
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