我正在设计一个使用CSS文件的网站很多,但是我有几个背景图像,列表中的项目符号的图像,我可能会再次需要css url()函数.
但是,在蛋糕中,所有的URL应该由Route :: url()函数处理,在几种方式中,最常见的是$html-> url()
但是我的问题是CSS文件不会被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目录.