Heim >Web-Frontend >CSS-Tutorial >Kann CSS „nth-of-type' Elemente basierend auf einer bestimmten Klasse auswählen?

Kann CSS „nth-of-type' Elemente basierend auf einer bestimmten Klasse auswählen?

Mary-Kate Olsen
Mary-Kate OlsenOriginal
2024-12-18 17:16:11795Durchsuche

Can CSS `nth-of-type` Select Elements Based on a Specific Class?

Kann CSS 3 n-tel-Typ auf eine Klasse beschränkt werden?

In CSS 3 kann der n-tel-Typ-Selektor verwendet werden um bestimmte Elemente basierend auf ihrer Position innerhalb einer Gruppe ähnlicher Elemente auszuwählen. Dieser Selektor ermöglicht jedoch kein Targeting von Elementen basierend auf ihrer Klasse.

Frage:

Ist es möglich, nth-of-type auf eine bestimmte Klasse anzuwenden? Wie können Sie beispielsweise jedes dritte Element mit der Klasse .module ansprechen?

Antwort:

Leider bietet CSS kein integriertes nth-of- Klassenselektor. Dies bedeutet, dass es nicht direkt möglich ist, nth-of-type auf eine bestimmte Klasse zu beschränken.

Lösung:

Um den gewünschten Effekt zu erzielen, können Sie einen neuen anwenden Klasse manuell in jedes dritte .Modul eintragen. Dies kann mit JavaScript oder einem Präprozessor wie Sass erfolgen.

Hier ist ein Beispiel mit JavaScript:

const modules = document.querySelectorAll('.featured.module');
for (let i = 2; i < modules.length; i += 3) {
  modules[i].classList.add('module--nth-of-type-3n');
}

Sobald die zusätzliche Klasse angewendet wurde, können Sie die folgende CSS-Regel zum Targeting verwenden jedes dritte .module:

.featured.module.module--nth-of-type-3n {
  /* Your desired styling here */
}

Diese Problemumgehung ist zwar möglicherweise nicht so elegant wie ein dedizierter N-Klassen-Selektor, ermöglicht es aber Sie können mithilfe vorhandener CSS-Funktionen und JavaScript die gewünschte Funktionalität erreichen.

Das obige ist der detaillierte Inhalt vonKann CSS „nth-of-type' Elemente basierend auf einer bestimmten Klasse auswählen?. 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