Zusatzfrage: Wie mit ~ und Pseudo-Selektor-Kombation nur einen Teil selektieren?
bearbeitet von
Hallo Gunnar,
> Du müsstest eine Liste mit mindestens so vielen .start + :not(.end) + … + :not(.end)-Selektoren erstellen wie du Elemente zwischen .start und .end haben kannst.
Challenge accepted 😉
Ergebnis: 3 CSS Regeln genügen.
Regel 1: Aus per Default
Regel 2: .comment und .end hinter span.start:active sichtbar machen
Regel 3: (in 2 geschachtelt, für Lesbarkeit) Die .comment und .end, die hinter dem **nächsten** span.start folgen, wieder unsichtbar machen.
Ich hatte das so verstanden, dass die .end-Spans hinter .start ebenfalls per Default ausgeblendet sein sollen. Deshalb verwende ich nicht :not(.end), sondern span:is(.comment, .end).
~~~css
span:is(.comment, .end) {
display: none;
}
span.start:active ~ span:is(.comment, .end) {
display: inline;
~ span.start ~ span:is(.comment, .end) {
display: none;
}
}
~~~
Ich hab's auch mit nur 2 Regeln versucht, aber da konnte ich die [Spezifische](https://specifishity.com/) nicht alle angeln.
Einfacher wär's ja, wenn man die .comment-Spans als Child-Element eines anderen Elements erzeugen könnte. Aber ich denke, das Obskurian-Markdown verweigert sich da?
_Rolf_
--
sumpsi - posui - obstruxi
> Du müsstest eine Liste mit mindestens so vielen .start + :not(.end) + … + :not(.end)-Selektoren erstellen wie du Elemente zwischen .start und .end haben kannst.
Challenge accepted 😉
Ergebnis: 3 CSS Regeln genügen.
Regel 1: Aus per Default
Regel 2: .comment und .end hinter span.start:active sichtbar machen
Regel 3: (in 2 geschachtelt, für Lesbarkeit) Die .comment und .end, die hinter dem **nächsten** span.start folgen, wieder unsichtbar machen.
Ich hatte das so verstanden, dass die .end-Spans hinter .start ebenfalls per Default ausgeblendet sein sollen. Deshalb verwende ich nicht :not(.end), sondern span:is(.comment, .end).
~~~css
span:is(.comment, .end) {
display: none;
}
span.start:active ~ span:is(.comment, .end) {
display: inline;
~ span.start ~ span:is(.comment, .end) {
display: none;
}
}
~~~
Ich hab's auch mit nur 2 Regeln versucht, aber da konnte ich die [Spezifische](https://specifishity.com/) nicht alle angeln.
Einfacher wär's ja, wenn man die .comment-Spans als Child-Element eines anderen Elements erzeugen könnte. Aber ich denke, das Obskurian-Markdown verweigert sich da?
_Rolf_
--
sumpsi - posui - obstruxi
Zusatzfrage: Wie mit ~ und Pseudo-Selektor-Kombation nur einen Teil selektieren?
bearbeitet von
Hallo Gunnar,
> Du müsstest eine Liste mit mindestens so vielen .start + :not(.end) + … + :not(.end)-Selektoren erstellen wie du Elemente zwischen .start und .end haben kannst.
Challenge accepted 😉
Ergebnis: 3 CSS Regeln genügen.
Regel 1: Aus per Default
Regel 2: .comment und .end hinter span.start:active sichtbar machen
Regel 3: (in 2 geschachtelt, für Lesbarkeit) Die .comment und .end, die hinter dem **nächsten** span.start folgen, wieder unsichtbar machen.
Ich hatte das so verstanden, dass die .end-Spans hinter .start ebenfalls per Default ausgeblendet sein sollen. Deshalb verwende ich nicht :not(.end), sondern span:is(.comment, .end).
~~~css
span:is(.comment, .end) {
display: none;
}
span.start:active ~ span:is(.comment, .end) {
display: inline;
~ span.start ~ span:is(.comment, .end) {
display: none;
}
}
~~~
Ich hab's auch mit nur 2 Regeln versucht, aber da konnte ich die [Spezifische](https://specifishity.com/) nicht alle angeln.
_Rolf_
--
sumpsi - posui - obstruxi
> Du müsstest eine Liste mit mindestens so vielen .start + :not(.end) + … + :not(.end)-Selektoren erstellen wie du Elemente zwischen .start und .end haben kannst.
Challenge accepted 😉
Ergebnis: 3 CSS Regeln genügen.
Regel 1: Aus per Default
Regel 2: .comment und .end hinter span.start:active sichtbar machen
Regel 3: (in 2 geschachtelt, für Lesbarkeit) Die .comment und .end, die hinter dem **nächsten** span.start folgen, wieder unsichtbar machen.
Ich hatte das so verstanden, dass die .end-Spans hinter .start ebenfalls per Default ausgeblendet sein sollen. Deshalb verwende ich nicht :not(.end), sondern span:is(.comment, .end).
~~~css
span:is(.comment, .end) {
display: none;
}
span.start:active ~ span:is(.comment, .end) {
display: inline;
~ span.start ~ span:is(.comment, .end) {
display: none;
}
}
~~~
Ich hab's auch mit nur 2 Regeln versucht, aber da konnte ich die [Spezifische](https://specifishity.com/) nicht alle angeln.
_Rolf_
--
sumpsi - posui - obstruxi
Zusatzfrage: Wie mit ~ und Pseudo-Selektor-Kombation nur einen Teil selektieren?
bearbeitet von
Hallo Gunnar,
> Du müsstest eine Liste mit mindestens so vielen .start + :not(.end) + … + :not(.end)-Selektoren erstellen wie du Elemente zwischen .start und .end haben kannst.
Challenge accepted 😉
Ergebnis: 3 CSS Regeln genügen.
Regel 1: Aus per Default
Regel 2: .comment und .end hinter span.start:active sichtbar machen
Regel 3: (in 2 geschachtelt, für Lesbarkeit) Die .comment und .end, die hinter dem **nächsten** span.stacrtive folgen, wieder unsichtbar machen.
Ich hatte das so verstanden, dass die .end-Spans hinter .start ebenfalls per Default ausgeblendet sein sollen. Deshalb verwende ich nicht :not(.end), sondern span:is(.comment, .end).
~~~css
span:is(.comment, .end) {
display: none;
}
span.start:active ~ span:is(.comment, .end) {
display: inline;
~ span.start ~ span:is(.comment, .end) {
display: none;
}
}
~~~
_Rolf_
--
sumpsi - posui - obstruxi
> Du müsstest eine Liste mit mindestens so vielen .start + :not(.end) + … + :not(.end)-Selektoren erstellen wie du Elemente zwischen .start und .end haben kannst.
Challenge accepted 😉
Ergebnis: 3 CSS Regeln genügen.
Regel 1: Aus per Default
Regel 2: .comment und .end hinter span.start:active sichtbar machen
Regel 3: (in 2 geschachtelt, für Lesbarkeit) Die .comment und .end, die hinter dem **nächsten** span.sta
Ich hatte das so verstanden, dass die .end-Spans hinter .start ebenfalls per Default ausgeblendet sein sollen. Deshalb verwende ich nicht :not(.end), sondern span:is(.comment, .end).
~~~css
span:is(.comment, .end) {
display: none;
}
span.start:active ~ span:is(.comment, .end) {
display: inline;
~ span.start ~ span:is(.comment, .end) {
display: none;
}
}
~~~
_Rolf_
--
sumpsi - posui - obstruxi
Zusatzfrage: Wie mit ~ und Pseudo-Selektor-Kombation nur einen Teil selektieren?
bearbeitet von
Hallo Gunnar,
> Du müsstest eine Liste mit mindestens so vielen .start + :not(.end) + … + :not(.end)-Selektoren erstellen wie du Elemente zwischen .start und .end haben kannst.
Challenge accepted 😉
Ergebnis: 3 CSS Regeln genügen.
Regel 1: Aus per Default
Regel 2: .comment und .end hinter span.start:active sichtbar machen
Regel 3: (in 2 geschachtelt, für Lesbarkeit) Die .comment und .end, die hinter dem **nächsten** span.active folgen, wieder unsichtbar machen.
Ich hatte das so verstanden, dass die .end-Spans hinter .start ebenfalls per Default ausgeblendet sein sollen. Deshalb verwende ich nicht :not(.end), sondern span:is(.comment, .end).
~~~css
span:is(.comment, .end) {
display: none;
}
span.start:active ~ :is(.comment, .end) {
display: inline;
~ span.start ~ span:is(.comment, .end) {
display: none;
}
}
~~~
_Rolf_
--
sumpsi - posui - obstruxi