2012-01-15 164 views
1

我有一个PanelGrid,有2个单元格(左和右)。它是一个很大的panelgrid,在左边的单元格中我有一个小文本,所以我有一个大单元格,中间是一个最小的文本。在正确的一个我有一个inputTextArea。当我想为左侧单元格设置背景时,它仅在文本周围进行了修改,而所有单元格仍然没有颜色。我使用了填充(设置像素数量)选项来调整单元格背景。 问题是InputTextArea。当您调整文本区域的大小时,单元格也会调整大小,但左侧单元格的填充没有。有没有任何选项,它不需要设置填充像素,当我调整大小的单元格,背景的颜色呢?JSF中的自动填充

非常感谢!

+0

难道你不能使用简单的CSS? – Apurv 2012-01-15 18:04:56

回答

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> 

的衬垫是在该上下文中不相关的。你的具体问题是背景颜色被设置在错误的元素上。

+0

非常感谢你BalusC! – Roberto 2012-01-18 17:59:54

+0

不客气。 – BalusC 2012-01-18 18:04:00