如何在symfony资产中拥有背景图片?

use*_*704 1 assets symfony assetic

使用symphony框架我做了转储资产资产:安装.css文件很难复制到/web/bundles/appbundle/css/style.css我猜css中的背景图像我应该有一个相对路径到达/ web /文件夹之外吗?

background-image: url(../../../../bundles/appbundle/images/top_bg.jpg);
Run Code Online (Sandbox Code Playgroud)

但它还没有用,我在css标签中也有filter ='cssrewrite'.可能我必须补充一点,我只是在资源安装后编辑位于上面路径的css文件,我没有编辑/ Acme/Bundle/Resources/public/css中的那个.然后我确实运行了资产:dump,现在在/ web /文件夹中有两个文件夹用于图像和css,我查看了新的css并看到路径变成这样:

background-image: url(../../bundles/applicationadmin/images/top_bg.jpg);
Run Code Online (Sandbox Code Playgroud)

但仍然所有图像都被破坏了.我搜索stackoverflow并发现了这个问题,但仍然有问题.我该怎么办?

请指教.

NTs*_*ola 6

为了让它在树枝上工作,试试这个

<div class="container" style="background-image:url('{{ asset('bundles/appbundle/images/top_bg.jpg') }}')"> , 
Run Code Online (Sandbox Code Playgroud)

当然,假设您已将捆绑包的 Web 资源安装在公共 Web 目录下。


小智 5

首先,确保您的CSS和图像位于正确的文件夹中.

src/AppBundle/Resources/public/css/style.css
src/AppBundle/Resources/public/images/top_bg.jpg
Run Code Online (Sandbox Code Playgroud)

运行资产资产后:安装,检查您的网络目录中是否有文件夹.它必须是Resources/public的相同副本.

web/bundles/app/css/style.css
web/bundles/app/images/top_bg.jpg
Run Code Online (Sandbox Code Playgroud)

你的style.css文件应如下所示:

background-image: url("../../images/top_bg.jpg");
Run Code Online (Sandbox Code Playgroud)

但是,如果您直接在twig模板上配置css,则url是不同的:

<style>
  div { background-image: url("/bundles/app/images/top_bg.jpg"); }
</style>
Run Code Online (Sandbox Code Playgroud)