我对Symfony2很新,并尝试创建我的第一个php应用程序。
一切正常,直到我在.css文件中设置背景图片。出于某种原因,.css文件的所有更改(背景颜色,字体等)都反映在我的new.html.twig文件接受图像中。
我的印象是我做了所有应该做的事情,但可能是错误的顺序(下面在新套装中完成):
Resources / public / css创建了style.css文件(这就是它的样子):
.test{
font-size: 25px;
background-color: yellow;
}
.topstyles {
width: 135px;
height: 113px;
background-color: blue;
}
.topstyleg {
background-image: url(images/ice.png);
}
.col2{
position: absolute;
left: 300px;
top: 100px;
}
.form-control {
margin-bottom: 3px;
}
将图片放置在Resources / public / images
在我的new.html.twig
中添加了.css文件的链接{% block stylesheets %}
{% stylesheets '@TestTestBundle/Resources/public/css/*' filter='cssrewrite' %}
<link rel="stylesheet" href="{{ asset_url }}" type="text/css"/>
{% endstylesheets %}
{% endblock %}
运行php app / console资产:安装web --symlink。因为我的系统不支持符号链接,所以只复制了我的捆绑包资源文件夹中的文件,包括.css和图像。
每次对我的bundle / Resources文件夹中的任何文件夹中的任何文件进行更改时,我都会重新运行资产:安装所有更改都会反映在web / bundles / testtestbundle中。
使用php app / console assetic:dump to dump,在root / web目录下创建单独的css文件夹,其中.css文件如下所示
.test{
font-size: 25px;
background-color: yellow;
}
.topstyles {
width: 135px;
height: 113px;
background-color: blue;
}
.topstyleg {
background-image: url(../../Resources/public/css/images/ice.png);
}
.col2{
position: absolute;
left: 300px;
top: 100px;
}
.form-control {
margin-bottom: 3px;
}
使用php app / console cache清除缓存:clear --env = prod --no-debug
由于某种原因,所有变化都反映在接受图像上。
我已经尝试过的资源是:
以及其他一些资源,但无论我做什么,它似乎都不起作用。
有可能我没有安装一些需要的捆绑包但是: - 我无法弄清楚哪一个 - 如果缺少某些东西,我认为我不会从.css文件上传任何格式,我只能让图像无法正常工作,其余的加载就好了。
任何帮助都将受到高度赞赏,因为我花了几个小时来试图解决这个问题。
答案 0 :(得分:0)
After a bit of trial and error and thanks to Dric512 i was able to resolve this issue.
Is seems like i have used incorrect link (at least it is incorrect in my case) in my new.html.twig
{% block stylesheets %}
{% stylesheets 'bundles/testtestbundle/css/*' filter='cssrewrite' %}
<link rel="stylesheet" href="{{ asset_url }}" type="text/css"/>
{% endstylesheets %}
{% endblock %}
Also, as my images were in the different folder then my .css files i has to refer to them like this:
.test{
font-size: 25px;
background-color: yellow;
}
.topstyles {
width: 135px;
height: 113px;
background-color: blue;
}
.topstyleg {
background-image: url(../images/ice.png);
}
.col2{
position: absolute;
left: 300px;
top: 100px;
}
.form-control {
margin-bottom: 3px;
}
all this is done in by src/Test/TestBundle/Resources/css/style.css file i have created.
When this is done, i have created assets using: php app/console assets:install web -- symlink
When that is done i ran php app/console assetic:dump and php app/console cache:clear just in case.
Works like charms.
答案 1 :(得分:-1)
我知道这个答案没有回答这个问题,但我建议将DataURIs用于css图像,它们在没有任何源文件的情况下工作,你不需要保存原始图像。它减少了HTTP请求。
或者,不要使用Assetic捆绑包,请使用standard assets