»» IMHO sind CSS-Hacks ein Wartbarkeitsproblem - jede Sonderlösung für jeden Browser (auch wenn dadurch Redundanzen entstehen) sind wesentlich übersichtlicher.
Die Übersichtlichkeit ist ja kein Argument, bzw. als Argument in dieser Diskussion völlig fehl am Platze. Es geht um die Wartbarkeit.
Übersichtlichkeit = Wartbarkeit - wenn ich für Alle Browser ein Stylesheet habe und für die Extrawürste des IE6 ein weiteres, für die Extrawürste des IE7 noch ein ergänzendes usw ist das für mich Übersichtlicher und Wartbarer.
Ich denke ich hab' mich da etwas unklar ausgedrückt:
Wieso soll ich mein HTML-Markup verhunzen, wenn ich Belange des Aussehens und des Designs einfach ins CSS auslagern kann?
Wer hat das gesagt? Folgendes stellt die von mir bevorzugte Lösung dar - das ist nur unwesentlich mehr HTML als in deinem Fall. Klar ist das ein HTTP-Request mehr bei den IEs, aber imho vertretbar und ich hab' alle Extrawürste für einen Browser gesammelt in einem File.
<link rel="stylesheet" type="text/css" href="css/screen.css" media="screen, projection" />
<!--[if ie 6]><link rel="stylesheet" type="text/css" href="css/screen_ie6.css" media="screen, projection" /><![endif]-->
<!--[if ie 7]><link rel="stylesheet" type="text/css" href="css/screen_ie7.css" media="screen, projection" /><![endif]-->
Wie organisierst du denn deine Scripte? Würde es dich nicht unheimlich nerven, wenn du auch noch die JavaScripte über CC auslagerst?
Warum? JavaScript liefert keine Stilinformationen mit - das schaltet idR. nur Klassen hin und her - wenn irgend ein IE eine Extrawurst benötigt, kommt das in sein CSS-File :)
Wäre das nicht ebenfalls eine Konsequenz, die du in Kauf nehmen müsstest?
Dann bräuchtest du schließlich auch keine Weichen für behinderte Browser, oder?Schreibst du die ganzen Frameworks und Bibliotheken um, damit sie in das CC-Konzept passen?
Nein, das ist davon nicht betroffen
in deinm Fall heissts meinetwegen .jsfeatureein
und .jsfeatureaus
sowie #msie6 .jsfeatureein
und #msie6 .jsfeatureaus
- in meinem Fall gibts halt 2x die Variante 1 - 1x für alle Browser und 1x in screen_ie6.css, Falls die extrawurst nötig ist.
Mit umsichtigem CSS (allgemein) komme ich da idR. (bei einer 08/15-Webseite) auf 500 bis 750 Zeilen, rund 25 Zeilen für den IE6 (in seinem CSS) und etwa 10 Zeilen für IE 7 aus (in seinem CSS-File).
Ehrlich gesagt geht mir der Sinn der CC nicht auf. Ich arbeite mit CSS-Hacks und fahre gut damit. Das Gehuddel mit extra Stylesheets für jede IE-Version kommt mir nicht in die Tüte. Bah! *schüttel*
Wie bereits erwähnt bekommt nicht jeder Browser ein eigenes CSS-File, der IE6 und 7 bekommen exakt das selbe vorgesetzt wie alle anderen Browser - nur für ein paar winzige Dinge bekommen sie andere, ergänzende Regeln, die gemäß der Spezifität überschrieben werden.