CSS / Less / Sass - Vergleiche alle vorherigen Geschwister, wenn: hover

8

In diesem Code:

%Vor%

Ich möchte die Farbe ändern, wenn :hover .

  1. IF ( .first:hover ) THEN .first { color: red; }
  2. IF ( .second:hover ) THEN .first, .second { color: red; }
  3. IF ( .third:hover ) THEN .first, .second, .third { color: red; }

Ist das ohne JS möglich? Ich kann CSS Hacks akzeptieren:)

Mögliche Antworten:

  1. @panthers Antwort

Schwierigere Version:

%Vor%
  1. IF ( .first:hover ) THEN .first { color: pink; }
  2. IF ( .second:hover ) THEN .first, .second { color: pink; }
  3. IF ( .third:hover ) THEN .first, .second, .third { color: pink; }

Antworten:

  1. @Armfoots Antwort scheint gut zu sein:)
123qwe 02.06.2015, 09:22
quelle

3 Antworten

1

Ich habe einen Weg gefunden, mit @each in SASS zu arbeiten Panthers Antwort :

%Vor%

Es ist ein bisschen kürzer, aber hier ist das Ergebnis (generierte CSS):

%Vor% %Vor%

Welche ähnliche CSS-Regeln hat Panthers Geige .

Schöne Herausforderung 123qwe :)

    
Armfoot 02.06.2015, 11:06
quelle
7

In CSS gibt es keinen vorherigen Geschwisterselektor, aber ... Sie können es manchmal mit bekannten Selektoren machen. Manchmal.

%Vor%

Ссылка

Es funktioniert mit block span s (von floated natürlich). Wenn span s den Standardwert display: inline hat, blinkt es, wenn Sie div im Zwischenraum zwischen den Spannen halten.

AKTUALISIEREN :
Sie haben die Frage aktualisiert, wenn jeder Bereich eine eigene Farbe hat. Dann könnte es sein:

%Vor%

Ссылка

    
panther 02.06.2015 09:31
quelle
1

Dies ist, was ich denke, kann tun, was Sie ordentlich erreichen wollen

%Vor%

Hoffe es hilft!

    
Django Ace 02.06.2015 09:55
quelle

Tags und Links