2014-04-04 5 views
17

Oltre a application.css.scss, ho più partial come homepage.css.scss. Al momento devo aggiungere @import 'bootstrap' a ognuno di essi per poter usare variabili bootstrap e mixin.Qual è l'equivalente di "import (reference) 'style" di LESS in SASS

Diciamo che voglio cambiare il colore predefinito dei collegamenti in rosso, lo aggiungerei a application.css.scss. Ma i collegamenti in homepage.css.scss non saranno rossi perché l'importazione bootstrap lo sovrascriverà con il blu.

In MENO, posso eseguire @import (riferimento) "bootstrap", come posso farlo in SASS?

+0

Stai lavorando in binari? –

+0

Sì. Rails 3.2 per essere esatti. – chh

risposta

14

Il più vicino si ottiene è un classe silenziosa/segnaposto. Questi funzionano un po 'diverso da come MENO e riferimento lavoro, si può leggere di più su di loro qui: http://blog.teamtreehouse.com/extending-placeholder-selectors-with-sass

MENO

lib.less

.class { 
    background: red; 
} 

main.less

@import (reference) "lib"; 

.anotherClass { 
    &:extend(.class); 
} 

SASS

lib.sass

%class { 
    background: red; 
} 

main.sass

@import "lib"; 

.anotherClass { 
    @extend %class; 
} 

uscita CSS

.anotherClass { 
    background: red; 
} 
+3

Grazie, non sapevo della lezione silenziosa. Il problema è che sto usando Bootstrap e dovrei modificare le sue classi in classi silenziose. Continuo a non credere che questo non sia un problema diffuso per molte app di Rails dal momento che SASS è l'impostazione predefinita. – chh

+1

@chh purtroppo lo faresti. Darei un'occhiata ai selettori di css personalizzati più specifici di quelli di bootstrap, che potrebbero anche risolvere il problema. – mikedidthis