Java 在Primefaces中使用CSS url()访问图像
这来自Primefaces文档: 按钮图标 按钮上的图标将使用 CSS和图像属性Java 在Primefaces中使用CSS url()访问图像,java,jsf-2,primefaces,Java,Jsf 2,Primefaces,这来自Primefaces文档: 按钮图标 按钮上的图标将使用 CSS和图像属性 .disk是一个简单的css类,具有 背景属性: .磁盘{ 背景图像:url('disk.png')!重要;} 我的问题是:这个url()指向哪里?换句话说,我应该把我的图像放在哪里,以便CSS可以访问它 我试过了/resources,/resources/img,运气不好。是的,它使用的是一个绝对URL(一个包含上下文路径的URL),但这使得应用程序不可移植。您的问题似乎更关注客户端方面的问题,因此,尽管我不
.disk是一个简单的css类,具有
背景属性:
.磁盘{
背景图像:url('disk.png')!重要;}
我的问题是:这个url()指向哪里?换句话说,我应该把我的图像放在哪里,以便CSS可以访问它
我试过了/resources,/resources/img,运气不好。是的,它使用的是一个绝对URL(一个包含上下文路径的URL),但这使得应用程序不可移植。您的问题似乎更关注客户端方面的问题,因此,尽管我不知道Primefaces,但这里有一个尝试来回答它: CSS路径与声明CSS规则的位置相关 如果这是在HTML中(在块中),则disk.png必须与文件位于同一目录中 如果此规则位于单独的CSS文件中,则disk.png应位于CSS文件所在的目录中 如果您创建一个目录映像,那么该目录也将与CSS相对 希望这有帮助?简单的解决方案: 如果您使用的是JavaServerFaces2.0,您有机会将所有资源放在专门设计的目录中。因此,您需要在web应用程序中具有此文件夹结构:
-rootdir
--resources
---images
----disk.png
要在css背景中接收图像,您应键入如下内容:
.disk {
background: url(#{resource['images/disk.png']}) !important;
}
我曾经遇到过同样的问题,我认为关于它的文档还不清楚! 对于Primefaces commandButton和类似的菜单项(菜单项、子菜单等),其工作方式如下: 我所做的是:
- 从PrimeFaces网站的主题库下载主题(例如:aristo或redmond)
- 将归档文件解压缩到web应用程序resources文件夹中(在我的示例中:root/resources/css/aristo
- 请注意,在aristo文件夹中有:theme.css和/images文件夹,其中索引的png图像包含主题使用的所有图标
- 如果打开theme.css,您会注意到,要访问索引图像图标,您应该调用两个类:.ui icon和.ui icon他们想要的图标(.ui图标使用
和.ui icon agivenicon检索索引png,并通过其X&Y位置(索引)对图标进行定界在png图像中){resource['primefaces...png']}
- 现在使用
最好的方法是在模板的标记之间******将theme.css输出到应用程序中。
- 因此,在xhtml或jsp中,执行
***.
- 现在,如果您想添加您的个人图像用于
宾果!;-)感谢您的快速回答。
.disk { background: url(#{resource['images/disk.png']}) !important; }