Quero ter uma variável que contenha o caminho raiz para todas as minhas imagens no meu arquivo CSS. Não consigo descobrir se isso é possível no Sass puro (o projeto da Web atual não é o RoR, portanto, não é possível usar asset_pipeline ou nada desse jazz sofisticado).
Aqui está o meu exemplo que não funciona. Na compilação, ele rejeita a primeira instância da variável na propriedade url em segundo plano, dizendo ( "Invalid CSS after "..site/background": expected ")"
).
Definindo a função para retornar o caminho:
//Vars
$assetPath : "/assets/images";
//Functions
@function get-path-to-assets($assetPath){
@return $assetPath;
}
Usando a função:
body {
margin: 0 auto;
background: url($get-path-to-assets/site/background.jpg) repeat-x fixed 0 0;
width: 100%; }
Qualquer ajuda seria apreciada.
'#{$fontName}.ext', ..
Não há necessidade de uma função:
Consulte os documentos de interpolação para obter detalhes.
fonte
Estava procurando uma resposta para a mesma pergunta, mas acho que encontrei uma solução melhor: http://blog.grayghostvisuals.com/compass/image-url/
Basicamente, você pode definir o caminho da imagem em config.rb e usar o assistente image-url ()
fonte
Adicionando algo às respostas corretas acima. Estou usando o Netbeans IDE e ele mostra erro ao usar
url(#{$assetPath}/site/background.jpg)
esse método. Foi apenas um erro do netbeans e nenhum erro na compilação do sass. Mas esse erro de formatação de código no netbeans e código se torna feio. Mas quando eu o uso dentro de aspas como abaixo, isso mostra maravilha!url("#{$assetPath}/site/background.jpg")
fonte
Podemos usar o caminho relativo em vez do caminho absoluto:
fonte