使用主题从 css 获取 Cakephp 图像
我在我正在做的应用程序中使用主题,并且需要一个全局 css/img/js 文件夹
我尝试使用 app/webroot 作为此文件夹,但无法从主题获取任何 css 来显示图像。
我有一个像 :: /app/views/themed/my_theme/webroot/css/file.css
这样的设置,
其中一些 css 看起来像:
...
body{
background-image: url('../img/file.jpg');
}
...
如果我在 /app/views 中有图像/themed/my_theme/webroot/img/file.jpg
一切都 100% 正常工作,但是当我将图像放入 /app/webroot/img/file.jpg
时,它不会显示。我已经尝试了各种组合,
我也尝试使用像 app/plugins/my_plugin/webroot/img/file.jpg
这样的插件目录,但是我尝试过的各种路径也不会显示图像。
我有什么想法可以让图像显示出来吗?我不介意它是用于 webroot/ 还是在 plugins/xyz/ 中,只要我可以在许多不同的主题中使用相同的图像,而不必
在图像位于 /webroot/img 中时复制图像,我可以使用完整的图像像 url(http://locahost/my_app/img/file.jpg)
这样的路径并且它有效。
不起作用的东西
url("img/file.jpg")
url("/img/file.jpg")
url("../img/file.jpg")
url("/. ./img/file.jpg")
url("../../img/file.jpg")
谢谢。
im using themes in an app im doing, and need a global css/img/js folder
i have tried using app/webroot as this folder, but cant get any css from a theme to show the images.
I have a setup like :: /app/views/themed/my_theme/webroot/css/file.css
With some css that looks like:
...
body{
background-image: url('../img/file.jpg');
}
...
if i have the image in /app/views/themed/my_theme/webroot/img/file.jpg
everything works 100% but when i put the image in /app/webroot/img/file.jpg
it will not show. i have tried all sorts of combinations for the
i have also tried using a plugin dir like app/plugins/my_plugin/webroot/img/file.jpg
but the various paths ive tried will not show the image either.
any ideas how i can get the image to show? i dont mind if its for webroot/ or in plugins/xyz/, just as long as i can use the same image in many different themes with out having to duplicate the images
when the image is in /webroot/img i can use the full path like url(http://locahost/my_app/img/file.jpg)
and it works.
things that dont work
url("img/file.jpg")
url("/img/file.jpg")
url("../img/file.jpg")
url("/../img/file.jpg")
url("../../img/file.jpg")
thanks.
如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。
绑定邮箱获取回复消息
由于您还没有绑定你的真实邮箱,如果其他用户或者作者回复了您的评论,将不能在第一时间通知您!
发布评论
评论(3)
在你的 CSS 文件中
body{
背景图片: url('/img/file.jpg');
这
将使用根区域在
/app/webroot/img/file.jpg
中查找图像In your CSS file
body{
background-image: url('/img/file.jpg');
}
This will use the root area to find the image in
/app/webroot/img/file.jpg
CSS 具有相对于其放置路径的图像 URL。
来自 my_theme 的 CSS 文件在浏览器中的链接方式类似于 site.com/theme/my_theme/css/style.css 。因此,如果您想在主题的 CSS 中使用 app/webroot/img 中的图像,请使用 url(../../../img/image.png)
CSS has urls for images relative to the path it is placed in.
CSS files from my_theme are linked like site.com/theme/my_theme/css/style.css in the browser. So if you want to use an image from app/webroot/img in your theme's CSS, use url(../../../img/image.png)
我没有尝试过,但 cookbook 说:
I have not tried that but the cookbook says: