Gunnar Bittersmann: Regel nur dann anwenden, wenn andere Fähigkeit auch vorhanden

Beitrag lesen

@@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)