Damit werden alle <B>
Tags direkt voran von <A>
tags:
A+B {
/* styling */
}
Was ist die Auswahl für alle <A>
Tags, direkt gefolgt von <B>
Tags?
Hier ist ein Beispiel-HTML, das zu meiner Frage passt:
<a>some text</a>
<b>some text</b>
css
css-selectors
Mostafa Farghaly
quelle
quelle
A
undB
verwandt sind.b
s auswählen, auf die s folgta
, ähnlich wiea+b
Sie alleb
s auswählen können , denen direkt vorangestellt ista
.Antworten:
Sie können nicht in CSS.
Bearbeiten: Um etwas hilfreicher zu sein, können Sie beispielsweise jQuery (eine JavaScript-Bibliothek) verwenden
.prev()
.quelle
Wollen Sie A stylen, wenn es ein B-Element direkt enthält oder folgt? So was:
So etwas kann man (noch) nicht in CSS machen. Eric Meyer gibt an, dass diese Art von Selektor einige Male auf der CSS-Mailingliste diskutiert wurde und nicht machbar ist. Dave Hyatt, einer der wichtigsten WebKit-Entwickler, erklärt mit einer guten Erklärung, warum dies nicht möglich ist.
Check out: Shaun Inmans Blogpost und der Kommentar von Eric Meyer .
David Hyatt wiegt auch.
quelle
Sie können NUR das Gegenteil tun: Hiermit werden alle Tags ausgewählt, denen direkt Tags vorangestellt sind.
Dies entspricht logisch Ihrer Anfrage.
Ich benutze dies oft, um eine Reihe von vielen Kontrollkästchen mit Beschriftungen zu gestalten
CSS:
DOM:
quelle
label+input
der Rand ab dem zweiten auf alleinput
Elemente angewendet . Es ist eine kreative Möglichkeit, Platz zwischen ihnen zu schaffen, jedoch nicht am Anfang oder am Ende der Reihe. In diesem Fall entspricht es .input:not(:first-child)
Obwohl es nicht sehr praktisch ist, können Sie dieses Verhalten heutzutage erreichen, indem Sie die Reihenfolge Ihrer Elemente sowohl beim Generieren des HTML-Codes als auch beim Anwenden der CSS-Regeln umkehren:
display: flex
undflex-direction: column-reverse
Wenn Sie zwei oder mehr Inline-Elemente haben, können Sie dies auch durch Anwenden erreichen
float: right
, da diese in umgekehrter Reihenfolge angezeigt werden:quelle