2012-01-26 7 views
14

ta jest wymieniona w pliku config.rbObrazy tła ścieżka w Sass i Compass

images_dir = "images" 

używam 2 folder dla obrazów w moich projektach wewnątrz obrazy folderu

images 
images/background/ 
images/content/ 

Jeśli jakieś zdjęcia jest w środku images/background/ folder, w jaki sposób powinienem dodać ścieżkę do obrazu w css background i zmiennych Sass?

$header-img: "sass.gif"; 

i

background-image: url('sass.gif?1327592426'); 

I jak pozbyć się tego automatycznie generowane ?1327592426 z każdego obrazu tła?

Odpowiedz

33

Powinieneś użyć image-urlURL helper. "Generuje ścieżkę do zasobu znalezionego względem katalogu obrazów projektu", który zdefiniowałeś w swoim config.rb. Można również ustawić trzeci parametr $cache-buster false aby usunąć wygenerowany ?1327592426

Sass:

// image-url arguments: 
// $path: path relative to images directory in config.rb 
// $path-only: if true, will cause only the path to be returned instead of a `url()` function 
// $cache-buster: When set to `false` no cache buster will be used (i.e. `?313420982`) 
$header-img: image-url('background/sass.gif', false, false) 
background-image: $header-img 

Wygenerowano CSS:

background-image: url('images/background/sass.gif') 
+1

+1 Dzięki za odpowiedź. gdzie ustawić $ cache-buster na false? –

+0

jeśli używam '$ header-img: image-url ('background/sass.gif', false, true)' to daje 'background-image: url ('/ images/url ('/images/background/sass. gif ')'); ' –

+0

Właśnie zaktualizowana odpowiedź, aby być jaśniejszym o używaniu $ header-img. Jeśli chcesz zdefiniować 'background-image' w twoim Sassie używając' url() ', ustaw drugi argument na' true'. Wtedy napiszesz 'background-image: url ($ header-img)' w Sass – maxbeatty