Heim >Web-Frontend >CSS-Tutorial >Können Sie mehrere :before-Pseudoelemente auf dasselbe Element anwenden?

Können Sie mehrere :before-Pseudoelemente auf dasselbe Element anwenden?

DDD
DDDOriginal
2024-11-09 22:01:02843Durchsuche

Can You Apply Multiple :before Pseudo-Elements to the Same Element?

Können mehrere :before-Pseudoelemente für dasselbe Element existieren?

Frage:

Ist es möglich, mehrere :before-Pseudoelemente auf dasselbe Element anzuwenden? Zum Beispiel:

.circle:before {
    content: "CF";
    font-size: 19px;
}
.now:before{
    content: "Now";
    font-size: 19px;
    color: black;
}

Antwort:

Nein, CSS2.1 legt fest, dass ein Element zu einem bestimmten Zeitpunkt nur ein Pseudoelement beliebiger Art haben kann . Das bedeutet, dass ein Element zwar sowohl ein :before- als auch ein :after-Pseudoelement haben kann, aber nicht mehr als eines von jedem Typ haben kann.

Wenn mehrere :before-Regeln auf dasselbe Element abzielen, Sie werden in ein einziges :before-Pseudoelement kaskadiert. Der obige Code reduziert sich beispielsweise wie folgt:

.circle.now:before {
    content: "Now";
    font-size: 19px;
    color: black;
}

Nur ​​die letzte Inhaltsdeklaration mit der höchsten Priorität wird wirksam.

Problemumgehungen:

Wenn Sie mehrere :before-Pseudoelemente auf dasselbe Element anwenden möchten, können Sie kombinierte Selektoren verwenden, um genau anzugeben, was der Browser tun soll. Zum Beispiel:

.circle.now:before {
    content: "○";
}
.circle.now:hover:before {
    background: #ccc;
}

Dadurch werden zwei :before-Pseudoelemente mit unterschiedlichem Inhalt und Stil erstellt.

Das obige ist der detaillierte Inhalt vonKönnen Sie mehrere :before-Pseudoelemente auf dasselbe Element anwenden?. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!

Stellungnahme:
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