marctrix: @supports für Pseudoklassen? GELÖST

Beitrag lesen

Hej zusammen,

gibt es eine Möglichkeit festzustellen ob ein Browser so etwas wie :focus-within unterstützt? @supports geht meines Wissens nach nur bei Eigenschaften/Werten?!?

Problem: für Browser die :focus-within verstehen, sollen einige Angaben gemacht werden, die Browser ohne :focus-within ignorieren.

Die Lösung ist simpel: was nur von Browsern mit :focus-within-Unterstützung angewendet werden soll, wenn :focus-within nicht zutrifft in einen negation-Selektor notieren, also so:

*:not(:focus-within) {
  foo: bar;
}

Das klappt natürlich bei allen Selektoren, die noch nicht von allen Browsern unterstützt werden.

Vorteil: progressive enhancement (wobei es sich eigentlich um graceful degradation handelt).

Beispiel zum Spielen bei Codepen (ein Fork von Gunnar Bittersmann, der diese Lösung für alle Browser mit JavaScript umgesetzt hat): http://codepen.io/haunschild/pen/NjEZYm

@Gunnar Bittersmann: die Formularfelder habe ich untereinander gesetzt, was aus BF-Gründen empfohlen wird - das Beispiel hat aber noch ein BF-Problem: die hübsche Animation einhergehend mit Schriftverkleinerung dürfte die Nutzung für Menschen mit Fehlsichtigkeiten und kognitiven Einschränkungen erschweren. - Und mein vorgegebenes Layout, um das es im konkreten Fall geht, sieht auch nebeneinaderstehende Formularfelder vor. Dort werde ich zur Positionierung aber flexbox verwenden…

Beitrag auf haunschild.de folgt

Marc