Fra*_*ado 3 css jsf templates relative-path contextpath
我正在使用JSF和XHTML模板,我在模板中使用CSS文件,背景图像被称为:
background-image: url("../../images/imageFile.jpg");
Run Code Online (Sandbox Code Playgroud)
因为我正在使用模板,我发现我必须为页面和样式/图像保持相同的深度才能正确应用样式页面,但项目有变化,现在它需要文件夹和页面的可变深度,使这种方法不再可行.
然后我的问题是:
是否有某种方式来代替相对路径(../../
, ../
由上下文路径(等)<%Request.getContextPath()%>
, #{facesContext.requestContextPath}
等等),CSS文件里面?
----- -----更新
绝对路径是不可能的.我需要基于模板的页面(无论它们的深度)能够找到我的CSS文件引用的样式和图像资源.
目前只有当页面,样式和图像在应用程序的文件夹结构中共享相同的深度时才有可能,但是我不能再保留这种方法,因为新的项目要求阻止我这样做.
我的项目文件结构的示例,作为<root>
应用程序根目录的路径:
CSS(depth-2):<root>/styles/global/myStyles.css
包含具有深度2路径引用的样式,例如:
background-image: url("../../images/imageFile.jpg");
Run Code Online (Sandbox Code Playgroud)
图像(深度-2):<root>/images/basic/imageFile.jpg
模板(深度-2):<root>/template/general/template1.xhtml
页面(深度-2):( <root>/pages/folder1/page1.xhtml
工作正常)
页面(深度-N):( <root>/pages/folder1/.../folderN/page2.xhtml
图像和样式损坏)
这些路径相对于CSS文件本身的请求URL.对于我来说,将它们分组到与CSS文件本身相同的根级别似乎是微不足道的.例如/css
,CSS文件和/css/images
CSS背景图像.这样你就可以一直使用url('images/name.ext')
了.
我不知道每次更改路径有什么用处.只需保持它们的一致性,并在必要时将其清楚地记录下来,以便现在和将来对每个人都清楚.
归档时间: |
|
查看次数: |
5799 次 |
最近记录: |