Hallo
Ich habe 2 Probleme und hoffe hier auf CSS-Lösungen.
1. Ich möchte das erste Element mit der Klasse X ansprechen.
Das funktioniert natürlich nicht, da :first-child eben nur auf Element geht und nicht auf Klassen o.Ä.
Vielleicht hat jemand eine Idee, wie man das lösen könnte.
2. Ich möchte alle Elemente zwischen X und :hover ansprechen
In meinem Beispiel wäre das alle .element zwischen .element.current und .element:hover
Ich weis, dass es die Möglichkeit gibt, Elemente auf gleicher Ebene anzusprechen, das geht hier aber nicht, da die Elemente unterschiedliche Parents haben.
Hier ein Beispiel
Möchte das nur ungerne mit JS lösen.
Danke
Ich habe 2 Probleme und hoffe hier auf CSS-Lösungen.
1. Ich möchte das erste Element mit der Klasse X ansprechen.
HTML-Code:
div.item.active:first-child .prev div.item.active:last-child .next
Vielleicht hat jemand eine Idee, wie man das lösen könnte.
2. Ich möchte alle Elemente zwischen X und :hover ansprechen
In meinem Beispiel wäre das alle .element zwischen .element.current und .element:hover
Ich weis, dass es die Möglichkeit gibt, Elemente auf gleicher Ebene anzusprechen, das geht hier aber nicht, da die Elemente unterschiedliche Parents haben.
Hier ein Beispiel
HTML-Code:
<!DOCTYPE html> <html dir="ltr" lang="en"> <head> <style> .outer{ width: 100%; display: flex; } .outer2{ width: 100%; display: flex; margin-top: 100px; } .item{ width: 49%; border: 1px solid; display: block; } .header{ display: flex; justify-content: space-between; } .item:not(.active) .control{ visibility: hidden; } .item2{ width: 100%; border: 1px solid; display: flex; } .element{ width: 10%; height: 20px; border: 1px solid; display: block; } .element.current { background-color: #ccc; } .element:hover{ background-color: #7ebd38; } </style> </head> <body> <div class="outer"> <div class="item"> <div class="header"> <a class="control prev">Prev</a> <h3>Header 1</h3> <a class="control next">Next</a> </div> <div class="content"></div> </div> <div class="item active"> <div class="header"> <a class="control prev">Prev</a> <h3>Header 2</h3> <a class="control next">Next</a> </div> <div class="content"></div> </div> <div class="item active"> <div class="header"> <a class="control prev">Prev</a> <h3>Header 3</h3> <a class="control next">Next</a> </div> <div class="content"></div> </div> <div class="item"> <div class="header"> <a class="control prev">Prev</a> <h3>Header 4</h3> <a class="control next">Next</a> </div> <div class="content"></div> </div> </div> <div class="outer2"> <div class="item2"> <div class="element"></div> <div class="element"></div> <div class="element"></div> <div class="element"></div> <div class="element current"></div> <div class="element"></div> <div class="element"></div> <div class="element"></div> <div class="element"></div> <div class="element"></div> </div> <div class="item2"> <div class="element"></div> <div class="element"></div> <div class="element"></div> <div class="element"></div> <div class="element"></div> <div class="element"></div> <div class="element"></div> <div class="element"></div> <div class="element"></div> <div class="element"></div> </div> <div class="item2"> <div class="element"></div> <div class="element"></div> <div class="element"></div> <div class="element"></div> <div class="element"></div> <div class="element"></div> <div class="element"></div> <div class="element"></div> <div class="element"></div> <div class="element"></div> </div> <div class="item2"> <div class="element"></div> <div class="element"></div> <div class="element"></div> <div class="element"></div> <div class="element"></div> <div class="element"></div> <div class="element"></div> <div class="element"></div> <div class="element"></div> <div class="element"></div> </div> </div> </body> </html>
Danke
Kommentar