@@Gunther:
nuqneH
Leider gibt es aber AFAIK keine Möglichkeit, die Anwendung einer Regel von dem "Verständnis" einer anderen Eigenschaft abhängig zu machen. Von daher meine
Frage 1: Richtig, oder ist mir etwas durchgegangen?
Ja. Nein.
Frage 2: Sehe ich das richtig, dass ich dieses Problem (sinnvoll/ am besten) nur per Javascript lösen kann?
Nein. Du kannst die Breite browserspezifisch angeben:
foo { max-width: 60em } /* du verwendest doch max-width, oder? */
* html { width: 60em } /* IE < 7 verstehen kein max-width */
foo, x:-moz-any-link, x:not(:default) { width: 80em } /* für Firefox ≥ 3 */
Für Safari (was ist mit anderen Webkits wie Chrome?) sollte sich auch was finden lassen.
Frage 3: Kann man per JS eigentlich ermitteln, ob ein Browser eine bestimmte CSS-Eigenschaft "versteht", also interpretieren kann, und wenn ja, wie?
Abfrage einer gesetzten Eigenschaft foo { bar: baz }
if (window.getComputedStyle)
var quz = window.getComputedStyle(foo, "").getPropertyValue("bar");
else if (foo.currentStyle)
var quz = foo.currentStyle.bar;
Wenn der Browser die Eigenschaft bar kennt, steht in quz ein entsprechender Wert (muss nicht baz sein!), ansonsten null oder "".
Qapla'
Alle Menschen sind klug. Die einen vorher, die anderen nachher. (John Steinbeck)