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