css - 如何使用 primefaces/jsf 部分显示图像

标签 css jsf primefaces css-sprites

我有一个 Sprite 图像。我只想从那里显示一个图标。如何使用 jsf/primefaces 显示?

我尝试了以下代码,但显示的是完整图像。

<p:graphicImage value="/resources/images/image.png" styleClass="lockedImage"/>

.lockedImage{
background-position: -110px -98px;
}

最佳答案

<p:graphicImage>生成一个 HTML <img>元素。您不应该通过 <img> 将 Sprite 文件显示为整个图像.您应该使用 Sprite 作为 block 级元素的背景图像,例如<div> .

例如

<div class="lockedImage" />

.lockedImage {
    width: 16px; /* Set this to icon width. */
    height: 16px; /* Set this to icon height. */
    background-image: url(#{resource['images/image.png']});
    background-position: -110px 98px;
}

(注意:CSS 中的 #{resource} 仅在您使用 <h:outputStylesheet> 将 CSS 文件作为 JSF 资源提供时才有效,否则您必须自己硬编码正确的路径)

请注意,此问题与 JSF 完全无关。这只是基本的 HTML/CSS。 JSF 在这个问题的上下文中只是一个 HTML/CSS 代码生成器。我强烈建议暂停一下 JSF 并学习基本的 HTML/CSS,以便更好地理解 JSF。如有必要,您可以生成 <div>使用 <h:panelGroup layout="block">在 JSF 中。

关于css - 如何使用 primefaces/jsf 部分显示图像,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/17445061/

相关文章:

jquery - 更新后如何滚动到 JSF 组件的底部?

javascript - 如何隐藏js、css文件等网站资源?

jsf - PrimeFaces 3.3.1 p :dialog doesn't shows up. 错误:widgetVar 未定义

JSF commandButton URL 参数

ajax - 如何以编程方式将 AjaxBehavior 添加到具有主界面的 UIComponent

PrimeFaces p :dialog is not centered when combined with p:schedule

Primefaces 有条件扩展 LayoutUnit

css - 父级溢出隐藏在绝对子级中

python - 将谷歌字体添加到 Flask

javascript - 在左边移动一个 div,在一个 div 的右边移动另一个