CSS-Filter

Ein CSS-Filter ist ein Codierungstechnik verwendet werden, um ein- oder ausblenden CSS-Markup je nach Browser, Versionsnummer oder Fähigkeiten. Browser haben unterschiedliche Interpretationen der CSS-Verhalten und die verschiedenen Ebenen der Unterstützung für den W3C-Standards. CSS-Filter werden manchmal verwendet, um konsistentes Layout Auftritt in mehreren Browsern, die nicht kompatibel Wiedergabe zu erzielen.

Präfix Filter

Die meisten Browser haben CSS-Eigenschaften, die in diesem Browser nur oder zumindest in der zugrunde liegenden Render-Engine Anwendung. Der Präfix dieser Eigenschaften ist für jede Rendering-Engine. Hier ist ein Beispiel.

Trident Alle experimentellen Eigenschaften werden mit "-MS-", zB voran anstatt.

Gecko Alle experimentellen Selektoren, Eigenschaften und Werte werden mit "-moz-", zB voran anstatt.

WebKit Alle experimentellen Selektoren, Eigenschaften und Werte werden mit "-webkit-", zB voran anstatt.

KHTML Alle experimentellen Selektoren, Eigenschaften und Werte werden mit "-khtml-", zB voran anstatt.

Presto

  • Alle neuen Selektoren, Eigenschaften und Werte von CSS3 Speech Modul eingeführt werden mit "-xv-", zB voran anstatt.
  • Alle experimentellen Eigenschaften werden mit "-O-", zB voran anstatt.

Die DOM-Eigenschaften entsprechend herstellerspezifischen Versuchs CSS-Eigenschaften werden mit der hersteller Präfix vorangestellt, ohne Bindestriche.

Kommentiert umgekehrten Schrägstrich

Dieser Hack nutzt einen Fehler in Internet Explorer für Mac, die auf Analyse Stellung zu nehmen. Ein Kommentar endet nicht richtig im IE Mac geschlossen, so Regeln, die im IE Mac ignoriert werden müssen, können nach einer solchen Kommentar platziert werden. Ein weiterer Kommentar wird nach der Regel erforderlich, um den Kommentar für IE Mac zu schließen.

Box-Modell-Hack

Als "Box-Modell-Hack", weil der Fehler wird am häufigsten verwendet, um zu arbeiten, ist das Internet Explorer-Box-Modell bug, bietet dieser Hack einen anderen Satz von Eigenschaften, um Internet Explorer und anderen Browsern. Ab der Version 6 hat IE das Box-Modell Fehler in Dokumenten, die bestimmte Dokumenttyp Deklarationen in gewisser Weise sind korrigiert.

Die erste Anweisung in den String gesetzt ist, aber ein IE-Parser Bug wird es als String mit einem einzigen Backslash gefolgt von einer schließenden Klammer für das Ende der Herrschaft zu deuten. wird gewählt, weil es wird keinen Einfluss Rendering auf einem Bildschirm-Stylesheet. Die zweite Regel verwendet den Hack für Browser wie Opera 5, die den Parsing-Fehler haben, aber nicht über die Box-Modell bug.

Streichen hack

Version 6 und unter der Internet Explorer erkennt Objekte mit diesem Präfix. Alle anderen Browser ignorieren solche Eigenschaften als ungültig. Daher ist eine Eigenschaft, die durch einen Unterstrich oder einen Bindestrich vorangestellt wird ausschließlich in Internet Explorer 6 und unterhalb angewendet.

Dieser Hack verwendet ungültiger CSS und es gibt gültiges CSS-Richtlinien, um ein ähnliches Ergebnis zu erzielen. So einige Leute nicht empfehlen, es. Auf der anderen Seite dieser Hack nicht die Spezifität eines Selektors die Wartung und Erweiterung einer CSS-Datei leichter zu ändern.

Sterne-Hack

Versionen 7 und unterhalb der Internet Explorer erkennt Objekte, die von nicht-alphanumerische Zeichen vorausgegangen sind, außer einem Unterstrich oder einen Bindestrich. Alle anderen Browser ignorieren solche Eigenschaften als ungültig. Daher ist eine Eigenschaft, die von einem nicht-alphanumerischen Zeichen außer einem Unterstrich oder einen Bindestrich vorangestellt ist, wie ein Sternchen, wird ausschließlich in Internet Explorer 7 und unten angewendet.

Dieser Hack verwendet ungültiger CSS und es gibt gültiges CSS-Richtlinien, um ein ähnliches Ergebnis zu erzielen. Auf der anderen Seite, ist dieser Hack nicht die Spezifität eines Selektors die Wartung und Erweiterung einer CSS-Datei leichter zu ändern.

Sterne-HTML-Hack

Das Element ist das Wurzelelement des W3C-Standard DOM, aber Internet Explorer Versionen 4 bis 6 sind eine geheimnisvolle Eltern-Element. Voll kompatibel Browser die Wahl zu ignorieren, während IE4-6 wird es in der Regel zu verarbeiten. Dies ermöglicht es Regeln, die bei diesen Versionen des Internet Explorer, der von allen anderen Browsern ignoriert wird angegeben werden. Beispielsweise kann diese Regel gibt die Textgröße in Internet Explorer 6.4, aber nicht in anderen Browsern.

Dieser Hack nutzt voll gültiges CSS.

Sterne-Plus-Hack

Obwohl Internet Explorer 7 nicht mehr erkennt den klassischen Stern HTML-Hack hat es eine ähnliche Kerbe mit Selektoren neu auf IE7 eingeführt:

Oder ...

Dieser Code wird in Internet Explorer 7 angewendet werden, aber nicht in einem anderen Browser. Beachten Sie, dass dieser Hack funktioniert nur in IE7 Standards-Modus; es nicht im Quirks-Modus zu arbeiten. Dieser Hack wird auch von Internet Explorer 8 die Kompatibilitätsansicht unterstützt, aber nicht in IE8-Standards-Modus. Wie die Sterne HTML-Hack, verwendet diese gültiges CSS.

Kinderwahl hack

Internet Explorer 6 und früheren Versionen unterstützen nicht die "Kind-Selektor", so dass Regeln, die für alle anderen Browser angegeben werden. Beispielsweise wird diese Regel Absatztext blau in Firefox zu drehen, aber nicht im IE vor Version 7.

Obwohl IE7 zusätzliche Unterstützung für das Kind-Selektor hat eine Variation des Hack entdeckt worden, die Internet Explorer 7, um auch ausgeschlossen werden können. Wenn ein leerer Kommentar unmittelbar nach dem Kind-Selektor wird IE7, der folgt der Regel fallen, ebenso wie frühere Versionen von Internet Explorer.

Negation Pseudoklasse hack

Internet Explorer 8 und unterhalb unterstützen nicht die CSS3 Negation Pseudoklasse. Internet Explorer 9 Unterstützung für CSS3 Pseudoklassen einschließlich der Negation Pseudoklasse.

Die Negation Pseudo-Klasse übernimmt keine einfache Wähler: Ein Typenwahl Universalselektor, Attributselektor, Klassenauswahl, ID-Selektor oder Pseudoklasse .. Es gilt dann die folgenden Eigenschaften für alle Elemente, die dieses Argument nicht übereinstimmen. Beachten Sie, dass der Wähler hat keine Bedeutung, es ist einfach eine Zeichenfolge, die noch nie eine tatsächliche Wahl übereinstimmen. Der String würde genauso gut arbeiten.

Eine Variation dieser Hack verwendet die Pseudo-Klasse, die auch von Internet Explorer 8 und unterhalb unerkannt ist.

Körper: empty hack

Die: leere Pseudoklasse, in CSS3 eingeführt, soll nur Elemente, die keine Inhalte enthalten, nicht zu wählen. Allerdings Gecko 1.8.1 und unterhalb falsch wählt Körper: leer, auch wenn das Körperelement Inhalt enthält. Dies kann ausgenutzt werden, der auf exklusive CSS-Regeln zu Firefox 2.0.x füttern und unten, zusammen mit anderen Browsern unter Verwendung der gleichen Rendering-Engine.

Dieser Hack verwendet gültiges CSS.

! important Macken

Internet Explorer 7 und unterhalb haben ein paar Macken an den! Wichtige Erklärung, die angeblich auf einen Wert höher als normal Bedeutung geben wird verwandt. IE7 und früher akzeptieren praktisch jede Zeichenfolge anstelle von wichtigen und bearbeiten Sie den Wert in der Regel, während andere Browser wird es zu ignorieren. Dies kann verwendet werden, um Werte ausschließlich für diesen Browsern angeben werden.

Ebenso IE7 und früher akzeptieren nicht alphanumerischen Zeichen nach einer! Wichtige Erklärung, während andere Browser wird es zu ignorieren.

Beide Hacks benutzen ungültige CSS. Internet Explorer 6 und darunter auch ein Problem mit! Wichtige Erklärungen, wenn die gleiche Eigenschaft des gleichen Elements hat einen anderen innerhalb desselben Codeblock festgelegten Wert, ohne ein weiteres! Wichtige Erklärung. Dies sollte in den zweiten Wert durch den ersten Überschreiben führen, aber IE6 und unteren nicht ehren diese.

Dieser Hack verwendet gültiges CSS.

Dynamische Eigenschaften

Zwischen den Versionen 5 und 7, Internet Explorer hat eine proprietäre Syntax zum Anlegen von CSS-Eigenschaften, die sich dynamisch ändern, manchmal auch als CSS Ausdrücke bezeichnet unterstützt. Dynamische Eigenschaften sind in der Regel mit anderen Hacks kombiniert, um für nicht unterstützte Eigenschaften in älteren Versionen von Internet Explorer zu kompensieren.

Bedingte Kommentar

Bedingte Kommentare sind bedingte Anweisungen von Microsoft Internet Explorer in HTML-Quellcode interpretiert.

Kritik

Ausblenden von Code unter Verwendung von Hacks führt oft zu Seiten, die nicht korrekt angezeigt, wenn Browser aktualisiert werden. Viele Hacks, die auf CSS von Internet Explorer 6 zu verstecken und senken Sie nicht mehr Arbeit in Version 7 verwendet, aufgrund seiner verbesserte Unterstützung für CSS-Standards. Der Microsoft Internet Explorer-Entwickler haben darum gebeten, dass Menschen nutzen bedingte Kommentare statt Hacks.

(0)
(0)
Kommentare - 0
Keine Kommentare

Fügen Sie einen Kommentar

smile smile smile smile smile smile smile smile
smile smile smile smile smile smile smile smile
smile smile smile smile smile smile smile smile
smile smile smile smile
Zeichen übrig: 3000
captcha