Zusatzfrage: Wie mit ~ und Pseudo-Selektor-Kombation nur einen Teil selektieren?
bearbeitet von
moin,
**Frage**
Ist es möglich, dass man mit einer Kombination aus [Next-Sibling Combinator](https://developer.mozilla.org/en-US/docs/Web/CSS/Next-sibling_combinator) und anderen Pseudo-Selektoren (und/oder) (weitere/andere) Selektoren nur die nächsten Elemente bis zu einem bestimmten Marker-Element selektiert werden, und alle weiteren Elemente die nur mit `~`{:.language-css} selektiert werden würden nicht? Sprich: nicht alle im Parent-Element?
**Schema meiner Vorstellung**
Schema der mehrfachen Selektierung der Elemente bis zu einem bestimmten Marker-Element, in diesem Fall: vom `start`{:.good} bis `ende`{:.good}:
`text` `start comment … comment end` `text` `start comment … comment end`{:.good} `text` `start comment … comment end` `text`
**Was ich gemacht habe**
Ich habe den _"Comment-Start-Delimiter"_ (`%%`{:.language-markdown}) als _"Collapse-Indicator"_ verwendet.
Die _"Comment-End-Delimiter"_ (`%%`{:.language-markdown}) und die _"Comments"_ sind mit `display: none;`{:.language-markdown} im Normal-Zustand ausgeblendet. Wenn man auf einer der _"Comment-Start-Delimiter"_ klickt und gedrückt hält, werden mit Hilfe von `display: inline;`{:.language-markdown} die
_"Comments"_ und _"Comment-End-Delimiter"_ mit Hilfe von `display: inline-block;`{:.language-markdown} angezeigt.
_Ausschnitt:_
```html
<div class="line">
text
<span class="start">%%</span>
<span class="comment">Lorem ipsum</span>
<span class="end">%%</span>
text
<span class="start">%%</span>
<span class="comment">[</span>
<span class="comment">dolor</span>
<span class="comment">]</span>
<span class="comment">(</span>
<span class="comment">sit</span>
<span class="comment">)</span>
<span class="start">%%</span>
text
</div>
<div class="line">
text
<span class="start">%%</span>
<span class="comment">consetetur sadipscing elitr</span>
<span class="end">%%</span>
text
<div>
```
**Resultat:**
- ausgeblendet:
`text` `%%` `text` `%%` `text`
`text` `%%` `text`
- _"Collapse-Indicator"_ von _"Lorem ipsum"_-Kommentar geglickt:
`text` `%%Lorem ipsum%%`{:.good} `text` `%%[dolor](sit)%%`{:.bad} `text`
`text` `%%` `text`
- _"Collapse-Indicator"_ von _"\[dolor\](sit)"_-Kommentar geglickt:
`text` `%%` `text` `%%[dolor](sit)%%`{:.good} `text`
`text` `%%` `text`
- _"Collapse-Indicator"_ von _"consetetur sadipscing elitr"_-Kommentar geglickt:
`text` `%%` `text` `%%` `text`
`text` `%%consetetur sadipscing elitr%%`{:.good} `text`
**Meine Untersuchungen**
Durch das gedrückt klicken auf einen _"Collapse-Indicator"_, werden ***alle*** _"Comments"_, die nach dem geklickten Elemnt stehen, mit ihrem _"Comment-End-Delimiter"_ im jeweiligen Parent-Element angezeigt.
**Zu meiner näheren Untersuchung**
Der _"Comments"_-Abschnitt beträgt _n_-Längen. D.h. ich kann nicht drauf hoffen, dass es nur ein einziges _"Comments"_-Element gibt in Form von `.start + .comment + .end`{:.language-css}. Das habe ich hier ja schon im `[dolor](sit)`{:.language-html}-Kommentar gezeigt. Hier wäre es `.start + .comment + .comment + .comment+ .comment + .comment + .comment + .end`{:.language-css}.
**Mein Verständnis des Problems**
Wenn ich auf den _"Collapse-Indicator"_ von `Lorem ipsum`{:.language-html}-Kommentar gedrückt klicke, blenden sich alle diejenigen ein, die im ersten Parent-Element `line`{:.language-html} sind also `Lorem ipsum`{:.language-html}-Kommentar und `[dolor](sit)`{:.language-html}-Kommentar. `lorem ipsum`{:.language-html}-Kommentar nicht da er ja in einem anderen Parent-Element liegt. Wenn ich auf den _"Collapse-Indicator"_ von `[dolor](sit)`{:.language-html}-Kommentar gedrückt klicke, wird nur dieser Kommentar angezeigt da er der letzte Kommentar im Parent-Element ist und `~`{:.language-css} selektiert nicht rückwärts.
**Mein Fazit**
Leider ist mir kein CSS Selektor-Kombination bekannt, die das bewerkstelligen kann.
Guten Abend,
lgmb
_P.S.: Ich hoffe meine Metasyntaktischen Variablen sind zur besseren Kommunikation geeignet, da ich zu unkreativ bin, mir ein einfaches und konkretes Beispiel auszudenken. Und mit Obsidian-App-Szenarien, will ich euch nicht belästigen, den das würde - denke ich - eher zu noch mehr Fragen euerseits führen._
--
Sprachstörung