Stefan Judis merkt an, dass es einen Standard für benutzerdefinierte Medienabfragen gibt, aber im Moment scheinbar keine Dynamik dafür vorhanden ist. Dieser Mangel an Fortschritt ist bedauerlich, da es fast garantiert ist, dass Frontend-Entwickler sie überall sofort nutzen würden, sobald sie verfügbar sind. Ich würde es tun, da ich benutzerdefinierte Eigenschaften jetzt ausgiebig verwende, und die DRY-Natur von benutzerdefinierten Eigenschaften einer der genau gleichen Vorteile ist, die wir mit benutzerdefinierten Medienabfragen erzielen würden.
Die Syntax ist
@custom-media --narrow-window (max-width: 30em);
@media (--narrow-window) {
/* narrow window styles */
}
@media (--narrow-window) and (script) {
/* special styles for when script is allowed */
}
...was ich dem Chrome-Bug entnommen habe (markieren Sie ihn mit einem Stern, um Ihr Interesse zu signalisieren).
Ich habe mich mit der Idee von postcss-preset-env angefreundet, das dies neben vielen anderen Dingen polyfillen kann. Früher dachte ich, es sei zu theoretisch, was mich nervös machte – so viel CSS ist ohne JavaScript kaum polyfillbar. Außerdem, wenn sich etwas mit den Spezifikationen ändert, haben Sie sich im Grunde in einen CSS-Prozessor eingesperrt, anstatt zukünftige Funktionen zu erhalten, da diese Verarbeitung irgendwann aufhört. Aber all die CSS-Transformationen hier scheinen im Allgemeinen ziemlich unkompliziert zu sein, liefern viel Wert (wie benutzerdefinierte Medienabfragen!) und Sie können wählen, mit welchem Stadium Sie sich am wohlsten fühlen.