symfony 2:在css中使用资产作为图像路径[重复]

Posted

技术标签:

【中文标题】symfony 2:在css中使用资产作为图像路径[重复]【英文标题】:symfony 2: using asset for image path in css [duplicate] 【发布时间】:2013-08-02 16:59:56 【问题描述】:

我是 php 和 symfony 的新手。我一直在成功地使用以下语法将 css 和脚本包含到我的页面中:

<link rel="stylesheet" type="text/css" href=" asset('css/bootstrap.css') ">

现在,我有一个引用图像的 css

.menu
 background: url(../img/mobile.png) no-repeat center;

找不到图片。我认为这是因为我不能在这里使用asset() 语法。

我该如何解决这个问题?

【问题讨论】:

你在哪里使用asset()?你能发布那个代码吗? 是的,抱歉,我已经编辑了我的帖子。但问题是如何在 css 文件中执行此操作。 【参考方案1】:

查看 web 文件夹,如果图像存在或不存在,因为您没有在 css 中使用资产,只是在 twig 中

您是否使用 assets:install web 生成图像以使图像存在于 web 文件夹中

【讨论】:

图片在 web/img 文件夹中。我没有生成任何东西(我什至不知道 assets:install 是什么。我只是将 img 文件夹放到了 web 文件夹中。这还不够吗? 不,这不是因为 img 文件夹应该位于 \web\bundles\nameofyourbundle exemple \web\bundles\AcmeExemple【参考方案2】:

css重写过滤器可以解决这种情况:

% stylesheets "css/bootstrap.css" filter="cs-s-rewrite" %
    <link rel="stylesheet" type="text/css" href=" asset_url " />
% endstylesheets %

【讨论】:

【参考方案3】:

试试这个:

<link rel="stylesheet" type="text/css" href=" asset('bundles/YOUR_BUNDLE_NAME/css/bootstrap.css') ">

YOUR_BUNDLE_NAME 是 ex。 testbundle

确保将bootstrap.css 文件放入/TestBundle/Resources/public/css 目录。

执行命令:

php app/console assets:install 

此命令会将公用文件夹中的所有文件“硬拷贝”到可用的网络文件夹中。

您的 css 字段路径现在将是 bundles/testbundle/css/bootstrap.css

【讨论】:

以上是关于symfony 2:在css中使用资产作为图像路径[重复]的主要内容,如果未能解决你的问题,请参考以下文章

Symfony2 - Assetic - 在 CSS 中加载图像

Symfony2,将 css、javascript、图像放在哪里

Symfony 资产捆绑

在利用资产管道的 Rails 应用程序中,用于 css 文件中背景图像的正确路径是啥?

symfony2 - 资产资产:转储命令不能正确创建样式表

Symfony2 共享的 CSS 和 JS 资产在哪里,最佳实践是明智的?