Web Dev Blog

Artikel lesen

CSS Feature Queries mittels @supports

von Daniel Erlinger

von Daniel Erlinger

Foto eines Code-Editors mit CSS Styles

@supports ist eine Technik, die bisher völlig an mir vorbei gegangen ist. Leider. Denn diese Art der Feature Detection macht JavaScript überflüssig, wenn man "nur" die Verfügbarkeit einzelner CSS-Regeln prüfen will.

Achtung! Dieser Beitrag ist älter als 5 Jahre. Sein Inhalt kann veraltet sein und sollte deshalb mit Vorsicht genossen werden.

Die Funktionsweise von CSS @supports

Wie @supports funktioniert, ist recht einfach. Ähnlich der Syntax von Media Queries wird die Unterstützung für eine oder mehrere CSS-Regeln, bestehend aus Eigenschaft und Wert, überprüft. Ein simples Beispiel sieht so aus:

@supports (box-sizing:content-box) {
  .meinContainer {
    box-sizing:content-box;
  }
}

Abgefragt wird der Support einer Regel oder eines Wertes, innerhalb derer man sein CSS schreibt. Wie im Beispiel zu sehen ist, erfolgt die Prüfung des Wertes über ein Schlüsselwort (content-box). Der Wert kann aber genauso eine Maßeinheit sein:

@supports (transform-origin:5% 5%) {
  /* CSS */
}

Einschränkungen in Bezug auf CSS-Regeln gibt es keine. Ganz im Gegenteil. So können beispielsweise auch mehrere Abfragen über AND oder OR miteinander verknüpft werden:

@supports (transform-style:preserve) or (-moz-transform-style:preserve) {
  /* CSS */
}

Eine negative Abfrage mit not

Genauso wie es möglich ist, den Support einer CSS-Regel abzufragen, so ist es ebenfalls möglich, eine fehlende Browserunterstützung abzufragen.

@supports not (width:calc(25% - 2em)) {
  .meinElement {
    display:table-cell;
  }
}

Browserunterstützung

Chrome Firefox Internet Explorer Opera Safari
ja, seit 28 ja, seit 22 nein ja, seit 12.1 nein

Quelle: caniuse.com

Aufgrund der noch mangelnden Browserunterstützung stellt sich hier die Sinnfrage. Kann ich dieses Feature nutzen, um auf JavaScript zu verzichten? Oder sollte ich doch lieber auf Feature Detection a la modernizr setzen? Ich denke, es kommt drauf an.

Zurück zur Newsübersicht

Ihnen gefällt das was Sie sehen?

Gern können wir darüber sprechen. Schreiben Sie mir oder rufen mich an.

Meine Kontaktdetails Referenzen ansehen