为什么使用Compass Sprite时路径错误

7

在使用compass创建精灵图时,由于主精灵图像在screen.css中的路径出现错误,导致我无法看到该图像。

我的scss代码如下:

@import "compass";
@import "spr/*.png";
 h1 { @include spr-sprite("car");  height:50px; width:50px; }

我的精灵图 CSS 输出

.spr-sprite, h1 {  background: url('/images/spr-sa37328aec0.png') no-repeat; }
h1 {  background-position: 0 -147px;  
height: 50px; 
width: 50px;
overflow: hidden; 
text-align: left; 

                  }

您可以看到,背景图片的路径应该以../开头,而不是直接使用/images/。这会造成问题。 我的图片文件夹路径:
images
 ------spr
          ---*.png
sass
-----screen.scss
css
---screen.css

我的config.rb代码如下

# Require any additional compass plugins here.
# Set this to the root of your project when deployed:
http_path = "/"
css_dir = "stylesheets"
sass_dir = "sass"
images_dir = "images"
javascripts_dir = "javascripts"

我对Sass和Compass都很新,可能会错过一些代码。请帮我找出来。 非常感谢回答者提供的任何帮助。


你编译的样式表与图片文件夹的关系是什么? - steveax
我的样式表在图片文件夹外面。我认为这是Compass创建项目的默认设置。(图片,Sass,样式表,config.rb) - Santosh shah
可能有助于查看您的 config.rb 文件。在 配置选项 中设置的某些内容与您的项目结构不符。 - steveax
config.rb代码已更新,请查看。 - Santosh shah
1个回答

11

将以下内容添加到你的 config.rb 文件中:

relative_assets = true

(我假设您没有将此文件从域名的根目录提供,否则不应需要此操作。您是通过file://查看页面吗?)


网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接