Hallo Cheatah, Hallo wahsaga,
Sonst hatte ich da bei meiner Betrachtung gar nicht zwischen CSS-Hacks und Browserweichen unterscheiden wollen, denn CSS-Hacks sind ja Browserweichen oder -filter.
siehe wahsaga - es sind _Funktions_weichen, keine Browserweichen. Das ist nicht nur tatsächlich ein Unterschied, sondern sogar der entscheidende.
letztlich ein (eigentlich für sich belangloses) sprachliches Problem; eine sprachliche Vereinbarung die mir entgangen wäre?
Wenn ich das Wort Browserweiche so verstehe dass ein Browser irgendwo hin kommt oder eben nicht, ist es eine Browserweiche, am deutlichsten wenn eine andere Datei geladen wird, aber prinzipiell gleich ob Datei -import usw.- oder einzelne Anweisung.
Sonst sollte vielleicht das Wort "userAgent" hinzukommen um die Bedeutung von Browserweiche so einzugrenzen wie es bei einer PHP-Weiche wohl zumindest am Anfang aussehen würde bzw. "als wer er sich ausgibt".
Die Oberbezeichnung "Browserweiche" scheint mir immer noch für die "filternden Vorgänge" bei CSS oder auch HTML-Kommentar die einzig mögliche, selbst wenn es nur ein einzelnes CSS-Filter wäre.
Oder, wenn ich einen Browser anhand seiner CSS-Fehler oder HTML-Eigenheiten eine bestimmte Datei als css laden lasse wäre es keine Browserweiche?
Und wenn ich einen Browser anhand seiner CSS-Fehler eine bestimmte Anweisung zukommen lasse hat es ja selten etwas mit den in der Anweisung geforderten "_fähigkeiten_", "_Funktionen_" zu tun, sondern mit browsertypischen Abweichungen die wegen anderer browsertypischen Abweichungen genutzt werden, gemeinsamer Nenner eben genau der Browser, und nicht die genutzten Techniken.
Mal einen Vergleich mit JavaScript, selbst wenn ich per JavaScript genau die anschliessend benutzten Fähigkeiten abfragen würde wäre es solange Unfug wie Browser Eigenschaften vorgeben können über die sie gar nicht hinreichend verfügen. Ich benötige also i.d.Praxis letztlich sehr oft Browserweichen um hinsichtlich der Fähigkeiten sicher zu gehen und Browser gezielt auszufiltern, oder ich müsste die Verfügbarkeit von Methoden sehr komplex und viel zu aufwändig nachkontrollieren, oder ich würde Fehlfunktionen zulassen nach dem Motto "wenn der Browser so blöd ist, selber schuld".
Dazu weisen einige prominente "handelsübliche CSS-Hacks" je nach Anwendungsfall ganz erhebliche Mängel auf,
Richtig, sie sollten mit Vorsicht eingesetzt werden. Es wurde nie etwas anderes behauptet.
Aber eine zusammnehängendere Betrachung mit dem jeweiligen Browser würde dieser nötigen "Vorsicht" und den meisten Mängeln entsprechen.
viele "handelsübliche CSS-Hacks" sind bei Änderungen im HTML neu zu überprüfen
Änderungen in HTML sollten - abgesehen von üblicher und von vornherein zu beachtender Dynamik - nicht vorkommen. Tun sie es doch, ist der _gesamte_ CSS-Code zu überprüfen.
Wenn die CSS-Hacks deutlicher als Browserweichen verstanden werden ist diese Überprüfung womöglich erfolgreicher oder schneller.
deshalb ist die Idee etwa von eigenständigen Datei-Versionen für den IE durchaus auch hilfreich oder vorteilhaft bei der Entwicklung,
Wir hatten hier gerade kürzlich erst einen Diskurs darüber, wann und wieso Conditional Comments (ich nehme an, darauf beziehst Du Dich) Sinn machen und wann eher nicht.
Auch, da war wohl deine Präferenz die einer einzigen CSS-Datei. Ich hätte wegen der Übersichtlichkeit usw. zwar auch lieber eine CSS-Datei, bin mir aber über den praktischen Nutzen nicht sicher.
So stelle ich z.B. bei einem Projekt fest dass ich dann früher eine zufriedenstellendes Ergebnis erhalte wenn ich mit einer Entwicklung für den IE anfange, aber zugleich auch umfangreicheren CSS-Code. Falls ich nun HTML und CSS möglichst reduziert erstmal für Mozilla und den inzwischen etwas (v)erträglicheren Opera schreibe gibt es doch recht viele Konflikte mit den IEs, die dann bei getrennten Dateien klarer und richtiger korrigiert werden können, dann auch mit weniger womöglich riskanten Hacks.
Die hier etablierte Empfehlung mit "richtigerm" Code für den Mozilla anzufangen ist m.E. wenig allgemeingültig und dann bei getrennten Deateien schneller oder einfacher anwendbar, und auch die Reaktionen auf "Änderungen im HTML" sind u.U. besser auzuführen.
Grüsse
Cyx23