Hallo MB,
sollte eigentlich die Lösung sein, das braucht kein :has und styled nur den span im Link.
Leider nicht
Doch. Oh. Wie?
Wenn Du dieses HTML hast:
<span class="link">
<span class="url_normal">Klick mich, ich bin der Mausling</span>
</span>
dann ist es – bis auf eine Prise Whitespace – komplett schnurz, ob der innere oder oder der äußere Span unterstrichen wird.
Und deswegen sollte
.link .url_normal {
text-decoration-line: underline;
}
prima funktionieren. Ob die Angabe von .link im Selektor überspezifiziert ist oder nicht, hängt davon ab, ob .url_normal auch außerhalb von .link Elementen vorkommen kann.
Wenn das „nicht funktioniert“, dann solltest Du erklären, wo hierbei das Problem ist. Denn Du hast wohl keine Alternative. :has()
ist im aktuellen Fuchs noch nicht per Default aktiv, ab wann es im Obsidian-Browser vorkommt, ist noch eine weitere Frage. Aber wenn Du ein Element basierend auf Eigenschaften seiner Kind-Elemente stylen willst, dann kommst Du an :has oder JavaScript nicht vorbei. Möglicherweise beißen sich deine Styles mit denen von Obsidian (das legt dein !important-Nuke nahe) und dann müsste man schauen, wie man hier geschickt mit Spezifität vorgeht.
Rolf
sumpsi - posui - obstruxi