我在Web应用程序中使用资产和树枝。我不使用Symfony2框架。

项目结构看起来像这样

  • 应用程序

    • 样式
    • 图片
  • 万维网

    • CSS
    • 图片

我在我的一个模板中使用Assetic样式表标签有此标记:

{% stylesheets 'style/a.css' filter='cssrewrite' output='css/*'%}
   <link href="{{ asset_url }}" rel='stylesheet' type='text/css'>
{% endstylesheets  %}

目前该应用程序托管在 http:// localhost/myapp/ 一个人会通过 http:// localhost/myapp/www

我写了一条垃圾条,将我的资产编译并将其倒入下面的目录 www.

在我的CSS中,我正在使用绝对路径(有效)引用我的图像:

#myelement{
  background: url('/app/www/images/b.png') no-repeat;
}

如果我使用相对路径(带有CSSsrewrite滤波器),则不会重写URL:

#myelement{
  background: url('images/b.png') no-repeat;
}

我想将我的URL用作 images/b.png 然后让Assetic Dumper确定完整的路径。

我已经启用了CSSsrewrite滤镜,但似乎没有做任何事情。我如何在CSS中提供相对路径,并使CSSsrewrite将其重写为绝对路径?

有帮助吗?

解决方案

原来我不必使用cssswrite。

由于CSS加载相对于CSS文件的图像,我只是做到了 ../images/image.png. 。这是一个简单得多的解决方案,但是我仍然没有弄清楚CSSsrewrite的工作原理。

其他提示

我发现绝对路径没有重写。 URL('/images/foo.png')未重写。 ...但是... url('../ images/foo.png')确实...我没有尝试过:

URL('./ images/foo.png') - 但我希望这将重写。

我对此感到非常沮丧,但我认为这是有道理的。

Symfony2网站上的文档确实说了...但是很容易忽略。

许可以下: CC-BY-SA归因
不隶属于 StackOverflow
scroll top