3

<div>晚上好,我想知道如何在不使用我使用它的情况下在相同的 JSF 组件之间插入空间<h:outputText value="&#160;" />,为了插入我想要的所需空间,我重复了这些标签大约 50 次!有什么替代方法可以做到这一点,这些是<div>

<div
    style="width: 100%; font-size: 20px; line-height: 30px; background-color: gray">
    <h:outputText value="&#150;" />
    <h:outputLabel value="Notifications ">
        <h:graphicImage
            value="/resources/images/lunapic_136698680056094_2.gif" />
    </h:outputLabel>

    /// insert space here

    <h:outputLink id="lnk" value="#">
        <h:outputText value="Welcome,Islam"></h:outputText>
    </h:outputLink>

    <p:tooltip for="lnk">
        <p:graphicImage value="/resources/images/sofa.png" />
    </p:tooltip>

</div>
4

2 回答 2

10

这通常使用CSS来实现,例如通过margin属性。CSS 适用于 HTML,而 JSF 在当前问题的上下文中只是一个 HTML 代码生成器。您应该忽略问题中的 JSF 部分并专注于 JSF 生成的 HTML 输出以达到要求。您可以通过右键单击在网络浏览器中查看源代码来查看它。如果 HTML 需要一些更改,则更改 JSF 源代码,使其准确生成所需的 HTML。

例如

<h:outputLabel value="Notifications" style="margin-bottom: 100px;">

(请注意,使用style是一种不好的做法;最好在您通过属性导入和引用的.css文件中声明 CSS)<h:outputStylesheet>styleClass

同样,这一切都与 JSF 无关。JSF 在这个问题的上下文中仅仅是一个 HTML 代码生成器。如果您是基本HTML / CSS的新手,因此不完全了解 JSF 生成的内容,那么我强烈建议您暂停 JSF 并首先学习这些基础知识。


与具体问题无关<h:outputLabel>,生成一个 HTML<label>元素,但您似乎没有任何与之关联的 HTML 输入元素。您实质上是出于错误的目的滥用标签元素。了解基本的 HTML以及如何编写语义 HTML以及了解这些 JSF 组件准确生成的 HTML 输出应该会让您朝着正确的方向前进。在这种特殊情况下,您可能应该<h:outputText>改用。

于 2013-04-26T18:11:58.180 回答
-1

要在同一行中的组件之间插入空格,您可以使用带有 1x1 清晰图像的 img 标签。(注意:这应该是在其他选项用尽之前的最后手段,请参阅下面的讨论)

<img width="100" height="10" src="/path-to/dot_clear.gif" />
e.g.
<img width="100" height="10" src="https://raw.githubusercontent.com/jonathanluo/jsf/master/images/dot_clear.gif" />

输入所需的宽度;对于高度,1 到 10 之间的任何数字都可以。默认情况下,宽高的单位是像素

https://raw.githubusercontent.com/jonathanluo/jsf/master/images/dot_clear.gif获取点清除图像的副本并将其保存到本地资源

右键单击内容区域并另存为...

于 2016-05-07T01:12:50.483 回答