2012-01-15 91 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