Frage

ich arbeiten gerade begonnen für eine ziemlich große Unternehmen und meine Gruppe verwaltet ihre öffentlich zugänglichen Websites alle. Ich öffnete das Stylesheet zum ersten Mal heute und habe mehr als 20 Instanzen der Designer mit der Voice-Familie Hack zu beheben ein IE-Fehler gesehen. (Ich weiß nicht, warum sie erlauben Grafikdesigner jede Art von Markup überhaupt zu schreiben)

Wie ist die allgemeine öffentliche Meinung der Voice-Familie Hack. Ist es die Zeit wert, mit IE bedingte Kommentare zu empfehlen benutzerdefinierte Stylesheets enthalten?

War es hilfreich?

Lösung

Hacks aller Art gefährlich sind, wie sie sind anfällig in Zukunft Browsern unbeabsichtigte Auswirkungen haben (viel brach mit IE7). Die sicheren Wege von CSS Filterung sind:

  • (für nur IE) Bedingte Kommentare. Diese werden immer arbeiten auf Microsoft-Browsern und immer von allen anderen Browsern ignoriert werden, da sie innerhalb von Kommentaren sind
  • Feature-Targeting - mit CSS-Selektoren, die nur von modernen Browsern unterstützt werden älteren Browser aufhören zu versuchen, die Regeln zu interpretieren. Doch die Tatsache, dass ein Browser-Syntax erkennt bedeutet nicht, es es richtig behandelt. Alles, was Sie hier garantiert ist, dass ältere Browser diese Regeln nicht nicht, dass modernere sie richtig tun zu machen versuchen,

Verwenden Sie möglichst die Teilmenge von CSS korrekt von allen gängigen Browsern unterstützt. Dies ist die Verbesserung im Laufe der Zeit als älterer instabiler Browser ignorable Prozentsatz Ihres Benutzer fallen.

Andere Tipps

Das "voice-family" Hack, besser bekannt als die Tantek Celik Box Model Hack, verwendet wird, spezifische CSS-Regeln von IE4 / 5 unter Windows wegen falscher Implementierungen des CSS-Standard in diesen Browsern zu verstecken. Es ist ein Versuch, die richtigste einzelnen Sheet alle Browser zu liefern, ohne zu Browser zurückgreifen Sniffing und mehrere Stylesheets.

Ironischer dieser Hack ist das Ergebnis von vielen Mannstunden (Monate?) Des Experimentierens und die Prüfung eine standardkonformen Stylesheet, das für ältere, neue und zukünftige Browser zu entwickeln. Es ist eines von mehreren Umgehungen, die für den schrecklichen Zustand des Browser Einhaltung des CSS-Standard.

bilden geschaffen

Jeffrey Zeldman angezeigte Designing with Web Standards für einen eingehenden Blick auf, warum Einhaltung von Standards (so viel wie möglich) ist ein lohnendes Ziel, und warum nur mit Browser-Sniffing und mehr Stylesheets verursacht Kopfschmerzen für den Entwickler:

http://www.amazon.com/Designing-Web-Standards-Jeffrey -Zeldman / dp / 0321385551 /

Ein Beispiel ist das Wettrüsten mit Browser / Betriebssystem-Kombinationen zu halten, nicht für Mobiltelefone und andere Geräte der Zukunft mit Browsing-Funktion zu erwähnen. Der Erkennungscode muss mit jeder neuen Kombination geändert, und wegen der Art und Weise, dass viele Browser Maskerade als Netscape Navigator, Erkennung ein Vollzeitjob werden kann.

Eine weitere gute Referenz ist der Web Standards Project, das viele gute Informationen und Anleitungen zum Thema hat:

http://www.webstandards.org/

Wenn Sie Ihren Codierstil auf Standards Einhaltung bewegen, werden Sie haben in der Regel nicht so besorgt über die Freisetzung von zukünftigen Browsern. Ja, Sie müssen noch gegen sie testen, aber Sie haben zu testen, benutzerdefinierte Stylesheets nicht zu schreiben und dann für jeden einzelnen.

Mein Gefühl auf Hacks wie das ist, dass Sie sie vermeiden sollten, wenn Sie können. Wenn es möglich ist, die korrekte Wiedergabe in allen Browsern zu erhalten, ohne auf solche Spielereien zurückgreifen, dann sollten Sie es richtig tun. Allerdings hat manchmal Browser Buggy CSS-Implementierungen, und es ist notwendig, Hacks wie diese zu verwenden.

Verwenden Sie keine Bedingung enthält. Verwenden Sie einen CSS-Selektor statt , ist es viel eleganter. Sie können Klassen an einzelnen Browser ausrichten (und / oder Versionen):

.myClass {...}

.ie6 .myClass {...}

Lizenziert unter: CC-BY-SA mit Zuschreibung
Nicht verbunden mit StackOverflow
scroll top