2014-07-22 14 views
7

Właśnie natknąłem się na użycie znaku krzyżyka poza pętlą w sassie i nie jestem pewien, do czego jest używany i jaki jest tego powód.Co robi znak skrótu (#) w pętli zewnętrznej w SASS?

Jaka jest różnica między tymi dwoma przykładami? Oba wyprowadzają te same wartości css, ale pierwsza nie pozwala na elementy klasy. Dlaczego pierwszy przykład jest używany w niektórych miejscach?

#{h1, h2, h3, h4, h5} 
{ 
    color: #000; 
} 

h1, h2, h3, h4, h5 
{ 
    color: #000; 
} 
+2

Czy próbowałeś [najpierw zapoznać się z dokumentacją?] (Http://sass-lang.com/documentation/file.SASS_REFERENCE.html#interpolation_). (zobacz także: http://sass-lang.com/documentation/file.SASS_REFERENCE.html#sass-script-strings) – cimmanon

+0

Przeglądałem ich dokumenty przez cały ranek i nie znalazłem tego! Dzięki za wskazanie mi tego. – Brigante

+0

Szukanie strony dla '# {'mogłoby ją znaleźć. – cimmanon

Odpowiedz

14

#{} służy do interpolacji smyczkowy: http://sass-lang.com/documentation/file.SASS_REFERENCE.html#interpolation_

Jest jeden wyjątek od tej, ale: przy użyciu # {} interpolacja, cytowany ciągi są cytowane. Ułatwia to użycie np. nazwy selektorów w mixins. Na przykład.

Ta technika jest używana czasami, aby umożliwić użycie wartości sass w selektorach. Np .:

$gutter: 10; 

.grid#{$gutter} { 
    background: red; 
} 

Teraz na twoje pytanie. I naprawdę nie widzę żadnego powodu, dla którego ktoś miałby użyć interpolacji ciąg w tym selektora:

#{h1, h2, h3, h4, h5} 
{ 
    color: #000; 
} 

Mój najlepszy przypuszczenie to, że zmienna Sass zostaną dodane później do tego selektora lub selektor zostaną całkowicie zastąpione zmiennej .

+1

Dzięki @jzelenkov bardzo pomocne! I przepraszam, że nie zauważyłem tego w dokumentach po raz pierwszy, jak wskazał cymmanon! – Brigante

+0

To właściwie interesujące pytanie. Gdzie widziałeś ten kod sass? Czy jest to oprogramowanie własne? –

+0

Widziałem to w bibliotece Typomatic, nie dokładnie to samo, ale patrząc na dokumenty nie widzę potrzeby korzystania z interpolacji https://github.com/andrejmlinarevic/typomatic/blob/master/assets/sass/_typomatic .scss # L48 – Brigante