我正在使用CSS文件设计一个网站很多,但我有几次背景图片,列表中的子弹图像,我可能会发现另外需要css url()
功能.
但是,在蛋糕中,所有URL都应该由Route::url()
函数处理,在几个方面,最常见的$html->url()
但我的问题是PHP文件不是由PHP解释的.如何创建包含以下内容的CSS文件:
div.coolbg { background-image: url('= $html->url("/img/coolbg.jpg") ?>'); }
看,我的最后一个选项是在布局上内联导入css文件,以便可以解释它.但我更喜欢使用更"蛋糕"的方法.
谢谢!
您不需要在css文件中使用$ html-> url(),因此您不需要通过PHP解析CSS文件或创建CssController.
如果您的蛋糕应用程序安装在虚拟主机DocumentRoot中,则只需从webroot创建映像的所有路径.例如
div.coolbg { background-image: url(/img/coolbg.jpg); }
这将把app/webroot/img/coolbg.jpg上的图像应用到你的
如果您的蛋糕应用程序未安装在虚拟主机DocumentRoot中,即您通过http://www.domain.com/myapp/等 URL访问蛋糕应用程序,则会创建相对于css文件的图像路径.查看app/webroot/css/cake.generic.css中的样式规则,例如
#header h1 { background:#003D4C url(../img/cake.icon.gif) no-repeat scroll left center; color:#FFFFFF; padding:0 30px; }
这是因为样式表存在于app/webroot/css /目录中,而图像存在于app/webroot/img /目录中,所以路径"../img/cake.icon.gif"出现在css之外目录,然后回到img目录.