2012-07-04 14 views
28

W kodeku this znajduje się selektor css &:hover co ten selektor pasuje?Co wybiera selektor "&"?

+0

Jeśli uważnie, można prawdopodobnie widzieli, że nie ma (SCSS) napisany obok nagłówka karty CSS. –

+0

@ Truth: zakładając, że komentarz został skierowany na mnie, to tak: widziałem to. Byłem jednak odnosząc się do wyraźnego stwierdzenia w samym pytaniu: "... istnieje selektor css' &: hover'. " Być może powinienem był to jednak wyjaśnić. –

+0

Podejmowałem się do OP –

Odpowiedz

28

Uważam, że znak ampersand jest funkcją Sass. Od docs:

Referencing Parent Selectors: &

Czasami jest to przydatne w użyciu wybieraka zagnieżdżonej nadrzędnego przymiarów w innych sposobów niż domyślny. Na przykład możesz chcieć mieć specjalne style , gdy ten selektor jest zawieszony nad lub dla elementu body o pewnej klasie. W takich przypadkach można jednoznacznie określić, gdzie selektor nadrzędny powinien zostać wstawiony przy użyciu znaku & .

26

Dokładnie. W Sass można mieć coś takiego ...

div { 
    background: green; 

    p { 
     background: red; 

     &:hover { 
      background: blue; 
     } 

     &:active { 
      background: blue; 
     } 
    } 
} 

... co po przeliczeniu na CSS stałby się w ten sposób:

div { 
    background: green; 
} 

div p { 
    background: red; 
} 

div p:hover { 
    background: blue; 
} 

div p:active { 
    blue; 
} 

Edycja: od & zawisu: do &: hover

+0

Na twoim drugim bloku kodu, nie powinno to być 'div p: hover {background: blue; } 'i' div p: active {background: blue; } '? Po prostu wspomnę o tym, żeby to wyjaśnić ... – Beat

+0

Tak. Oczywiście. Przepraszam. Głupi błąd. Naprawiony. – banzomaikaka

3

Jednym z mniej popularnych zastosowań jest dodanie ampersand na końcu stylu, aby selektor nadrzędny stał się dzieckiem.

np

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

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

staje

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

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

można przeczytać więcej o & użytku tutaj

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

Powiązane problemy