Css – Background images path in Sass and Compass

compass-sasscssrubysass

This is mentioned in config.rb file

images_dir = "images"

I use 2 folder for images in my projects inside images folder

images
images/background/
images/content/

If any images is inside images/background/ folder then how i should add the path for image in css background and Sass variables?

$header-img: "sass.gif"; 

and

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

And how to get rid of this auto generated ?1327592426 from each background image?

Best Answer

You should use the image-url URL helper. It "generates a path to an asset found relative to the project's images directory" which you defined in your config.rb. You can also set the third parameter $cache-buster to false to remove the generated ?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

Generated CSS:

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