moin,
Pseudo CSS-Code Beispiel:
ein besseres Beispiel (so hoffe ich) welches leider nicht funktioniert aber es macht besser deutlich (so hoffe ich) was ich möchte.
Ausschnitt innerhalb des <head>
Elementes einer HTML-Datei
<style>/* foo.css loaded */
:root {
--mb-id-foo: 'foo'; /* foo.css ID */
}
/* do stuff */
</style>
<style>/* fuz.css loaded */
@supports (--mb-id-foo) {
:root {
--mb-id-fuz: 'fuz'; /* fuz.css ID */
}
/* provides styles after condition */
}
</style>
<style>
/* bar.css is not loaded */
</style>
<style>/* buz.css loaded */
@supports (--mb-id-bar) {
:root { /* buz.css ID */
--mb-id-buz: 'buz';
}
/* provides styles after condition */
}
</style>
<style>/* foo-bar.css loaded */
@supports (--mb-id-foo) and (--mb-id-bar) {
:root {
--mb-id-foo-bar: 'foo-bar'; /* foo-bar.css ID */
}
/* provides styles after condition */
}
</style>
Zur Erleuterung meines Pseudo Codes:
foo.css
Die CSS-Datei foo.css
is geladen mit ihren ID --mb-id-foo
und ihre styles.
fuz.css
Die CSS-Datei fuz.css
ist auch geladen mit einer Abhängigkeit von foo.css
. fuz.css
prüft ob die ID von foo.css
nämlich --mb-id-foo
existiert. Fals ja existiert foo.css
und fuz.css
stellt ihre styles zur Verfügung.
bar.css
Die CSS-Datei bar.css
ist nicht geladen mit ihrer ID --mb-id-bar
und ihren styles.
buz.css
Die geladene CSS-Datei buz.css
ist abhängig von bar.css
. Sie prüft ob die ID von bar.css
nämlich --mb-id-bar
existiert. Dem ist nicht so und so existiert bar.css
auch nicht und buz.css
stellt ihre styles auch nicht zur Verfügung.
foo-bar.css
Genausowenig die geladene CSS-Datei foo-bar.css
die beide IDs --mb-id-foo
und --mb-id-bar
prüft.
Mein Problem warum es Pseudo-CSS-Code heißt:
@support (--mb-id-foo){ }
funktioniert in dieser Konstellation nicht. Und ich glaube auch nicht, das @supports
eine definierte CSS-Variable prüfen kann, nur Features.
Dennoch habe ich @support
in mein pseudo Beispiel mit reingenommen, weil hoffe, dass es die Situation besser verdeutlicht)
Zur Frage:
Wie kann man (mit CSS, innerhalb einer ins HTML hochgeladenen CSS-Datei) prüfen, ob eine bestimmte CSS-Variable a (z.B. --mb-id-foo
) in einer anderen CSS-Datei A (z.B. foo.css
) existiert, so dass man bestätigen kann, dass diese CSS-Datei A (z.B. foo.css
) auch ins HTML geladen wurde oder nicht?
Ich hoffe inständig, das meine Beispiel verdeutlichen kann, was ich möchte und was meine Frage eigentlich ist.
@Gunnar Bittersmann hat meine Eingangsfrage ja bestens beantwortet, welche ich unwissentlich sehr sehr falsch gestellt habe. Das ist mir im nachhinein aufgefallen.
lgmb
Sprachstörung, Verpeilter, Begriffs-Verwechseler