Heim > Web-Frontend > CSS-Tutorial > Können Geschwisterkombinatoren auf Pseudoelemente in CSS abzielen?

Können Geschwisterkombinatoren auf Pseudoelemente in CSS abzielen?

Mary-Kate Olsen
Freigeben: 2024-12-04 17:07:11
Original
586 Leute haben es durchsucht

Can Sibling Combinators Target Pseudo-elements in CSS?

Geschwisterkombinatoren und Pseudoelemente: Targeting-Einschränkungen

Können Pseudoelemente mithilfe von Geschwisterkombinatoren gezielt angesprochen werden? Ein aktuelles CSS-Problem hat diese Frage aufgeworfen.

In diesem Szenario sollte ein Ankertag mit einem vorangehenden Bild kein Pseudoelement anzeigen. Ein direktes Anvisieren des Ankers ist aufgrund der Präsenz des Bildes nicht möglich. Daher wurde ein alternativer Ansatz unter Verwendung eines Geschwisterkombinators für das Pseudoelement versucht, wie unten gezeigt:

a[href^="http"]:after {
    content: "";
    width: 10px;
    height: 10px;
    display: inline-block;
    background-color: red;
}

a[href^="http"] img ~ :after {
    display: none;
}
Nach dem Login kopieren

Das CSS kann das Pseudoelement jedoch nicht verbergen, wenn das Ankertag ein Bild umschließt. Warum ist das so?

Die Einschränkung liegt in der Natur von Pseudoelementen. Generierte Inhalte, einschließlich Pseudoelemente, werden nicht in das DOM aufgenommen und haben keine Auswirkungen auf das Originaldokument. Dies wird in der CSS-Spezifikation ausdrücklich angegeben:

„Generierter Inhalt verändert den Dokumentbaum nicht. Insbesondere wird er nicht an den Dokumentsprachenprozessor zurückgemeldet (z. B. zum erneuten Parsen).“

Folglich kann der Geschwisterkombinator nicht auf ein :before- oder :after-Pseudoelement abzielen, da diese nicht Teil des DOM sind Struktur.

Erwägen Sie für ähnliche Szenarien die Verwendung von JavaScript, um das DOM dynamisch zu manipulieren und die gewünschten Styling-Effekte zu erzielen.

Das obige ist der detaillierte Inhalt vonKönnen Geschwisterkombinatoren auf Pseudoelemente in CSS abzielen?. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!

Quelle:php.cn
Erklärung dieser Website
Der Inhalt dieses Artikels wird freiwillig von Internetnutzern beigesteuert und das Urheberrecht liegt beim ursprünglichen Autor. Diese Website übernimmt keine entsprechende rechtliche Verantwortung. Wenn Sie Inhalte finden, bei denen der Verdacht eines Plagiats oder einer Rechtsverletzung besteht, wenden Sie sich bitte an admin@php.cn
Neueste Artikel des Autors
Beliebte Tutorials
Mehr>
Neueste Downloads
Mehr>
Web-Effekte
Quellcode der Website
Website-Materialien
Frontend-Vorlage