JSF中的自动填充

时间:2012-01-15 18:02:52

标签: css jsf-2 padding

我有一个带有2个单元格的左侧和右侧的PanelGrid。它是一个大的panelgrid,在左边的单元格中我有一个小文本,所以我有一个大单元格,在中心有一个最小的文本。在右边我有一个inputTextArea。当我想为左侧单元格设置背景时,它只会在文本周围感染,而所有单元格仍然没有颜色。我使用填充(设置像素数)选项来调整单元格背景。 问题是InputTextArea。当您调整文本区域的大小时,单元格也会调整大小,但左侧单元格的填充没有。是否有任何选项可以设置填充像素,当我调整单元格大小时,背景颜色也是如此?。

非常感谢你!

1 个答案:

答案 0 :(得分:1)

如果您希望背景颜色跨越整个单元格,则需要将其设置在单元格本身而不是单元格的内容上。

<h:panelGrid column="2" columnClasses="leftColumn,rightColumn">
    <h:outputText />
    <h:inputTextarea />
</h:panelGrid>

其中您在leftColumn类中指定背景颜色。

另一种方法是使单元格内容成为块元素而不是内联元素,以使其大小跨越整个单元格。例如。将其设为<div>

<h:panelGrid column="2">
    <h:panelGroup layout="block" styleClass="redBackground">
        <h:outputText value="some" />
    </h:panelGroup>
    <h:inputTextarea />
</h:panelGrid>

或在下面的示例中将display: block;添加到redBackground类(虽然这很讨厌):

<h:panelGrid column="2">
    <h:outputText value="some" styleClass="redBackground" />
    <h:inputTextarea />
</h:panelGrid>

在这种情况下,填充是无关紧要的。你的具体问题只是在错误的元素上设置了背景颜色。