Heim > Web-Frontend > CSS-Tutorial > CSS: Alle Geschwister mit not() auswählen

CSS: Alle Geschwister mit not() auswählen

Susan Sarandon
Freigeben: 2024-10-22 06:13:30
Original
998 Leute haben es durchsucht

Unser UX-Team wollte, dass ich ein Navigationsmenü erstelle, das die restlichen Elemente abblendet, anstatt das schwebende Element hervorzuheben.

CSS zur Rettung!

Die Lösung ist ganz einfach, wenn man die CSS-Pseudoklasse not() verwendet:

Css: select all siblings using not()

Der HTML

<div class="menu-items">
  <div>Home</div>
  <div>About</div>
  <div>Contact</div>
  <div>Services</div>
  <div>Blog</div>
  <div>Portfolio</div>
</div>
Nach dem Login kopieren

Das SCSS

Ich habe die Styling-Eigenschaften entfernt, damit wir uns auf die eigentliche Funktionalität konzentrieren können:

1 .menu-items {    
2     visibility: hidden;
3 
4     & > * {
5         visibility: visible;
6         transition: opacity 500ms;
7     }
8 
9     &:hover > :not(:hover) {
10        opacity: 0.45;
11    }
12 }
Nach dem Login kopieren

Wir haben einen Container mit einer .menu-items-Klasse.
In Zeile 4 wählen wir alle untergeordneten Elemente aus und fügen ihnen einen Deckkraftanimationsübergang hinzu.

Zeile Nr. 9 behandelt den Hover-Effekt auf Elemente, indem sie die Deckkraft aller nicht schwebenden Elemente mithilfe der Pseudoklasse not() auf einen niedrigeren Wert setzt.

Und was ist mit der Sichtbarkeitseigenschaft los?
Wir setzen die Sichtbarkeit des .menu-items-Containers auf „verborgen“ und setzen dann die untergeordneten Elemente wieder auf „sichtbar“. Dadurch wird der Effekt ausgeschaltet, wenn wir zwischen den Elementen schweben.

Das ist es :)

Das obige ist der detaillierte Inhalt vonCSS: Alle Geschwister mit not() auswählen. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!

Quelle:dev.to
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