2012-07-04 8 views
28

In this Codepen gibt es einen CSS-Selektor &:hover Was passt dieser Selektor?Was wählt der '&' Selektor?

+0

lesen Wenn Sie genau hinsah, konnte man wohl gesehen haben, dass es (SCSS) neben der Überschrift des CSS-Tabs geschrieben. –

+0

@Truth: unter der Annahme, dass der Kommentar auf mich gerichtet war, dann ja: Ich habe das gesehen. Ich habe jedoch die explizite Aussage in der Frage selbst angesprochen: "... es gibt einen CSS-Selektor" &: hover "." Vielleicht hätte ich das deutlicher machen sollen. –

+0

Ich nahm zum OP –

Antwort

28

Ich glaube, das kaufmännische Und ist eine Sass Funktion. Aus der Dokumentation:

Referencing Parent Selectors: &

Manchmal ist es sinnvoll, eine verschachtelte Regel der Mutter Wähler in anderen Möglichkeiten als Standard zu verwenden. Zum Beispiel möchten Sie möglicherweise spezielle Stile für wenn dieser Selektor über oder für wenn der Körper Element eine bestimmte Klasse hat. In diesen Fällen können Sie explizit angeben, wo der Elternselektor mit dem Zeichen & eingefügt werden soll.

26

Genau. In Sass könnten Sie so etwas wie dieses ...

div { 
    background: green; 

    p { 
     background: red; 

     &:hover { 
      background: blue; 
     } 

     &:active { 
      background: blue; 
     } 
    } 
} 

... die, wenn sie zu CSS umgewandelt würde dies geworden:

div { 
    background: green; 
} 

div p { 
    background: red; 
} 

div p:hover { 
    background: blue; 
} 

div p:active { 
    blue; 
} 

Edit: von & zu schweben zu &: schweben

+0

Auf Ihrem zweiten Code-Block, sollte es nicht sein div p: Hover {Hintergrund: blau; } 'und' div p: aktiv {background: blue; } '? Ich erwähne es nur, um es zu klären ... – Beat

+0

Ja. Na sicher. Ich entschuldige mich. Dummer Fehler. Fest. – banzomaikaka

3

Eine Anwendung, die weniger bekannt ist, ist, dass Sie das kaufmännische Und-Zeichen am Ende eines Stils hinzufügen können, sodass der übergeordnete Selektor zum untergeordneten Element wird.

zB:

h3 
    font-size: 20px 
    margin-bottom: 10px 

.some-parent-selector & 
    font-size: 24px 
    margin-bottom: 20px 

wird,

h3 { 
    font-size: 20px; 
    margin-bottom: 10px; 
    } 

    .some-parent-selector h3 { 
    font-size: 24px; 
    margin-bottom: 20px; 
    } 

können Sie mehr über & Verwendung hier

http://thesassway.com/intermediate/referencing-parent-selectors-using-ampersand

Verwandte Themen