我在css中使用背景图片,显然需要在css文件中写入URL
因此,虽然相对路径可能相同,但基本URL在开发和生产之间会有所不同
那么,有没有比以下更好的解决方案:
1.每次手动更换它
2.使用完整URL的云上资源
3.将CSS文件解析为PHP,并使用一些
其中的代码(然后我必须解决缓存问题)。
答案 0 :(得分:8)
从包含CSS的目录中解析CSS URL。意思是它不会改变。所以你应该做的就是给他们相对于CSS目录的路径,你应该很好。
CSS / main.css的
div {
background: transparent url(../images/background.jpg) no-repeat;
}
答案 1 :(得分:1)
我在另一个论坛上问了问题b4
http://www.nabble.com/Root-directory-(linking-CSS-JS-etc)-to23911119.html#a23923742
解决方案是使用视图助手baseUrl
<img src="<?php echo $this->baseUrl();?>/images/foo.gif">
答案 2 :(得分:0)
我使用symfony框架,我发现将其解析为PHP效果最好。它是最具活力的,如果你需要的不仅仅是一个URL,你可以使用PHP。
答案 3 :(得分:0)
一个明显的答案是使用最纯粹的绝对URL形式,即将所有CSS图像放入CSS文件夹中。那用得很多。您可以在URL中获得简单性,现在可以轻松地移动或重命名CSS文件夹,并且样式表会变得更小。