JSF -战斧:panelGrid样式



JSF:

...
    xmlns:t="http://myfaces.apache.org/tomahawk">
     <t:panelGrid columns="4">
       ...
     </t:panelGrid>

它动态生成带有tr 's和td 's元素的普通旧HTML表。

如何为这些tr和/或td元素设置特定的css样式?

使用columnClasses和rowClasses属性给每个单元格一个唯一的类

例如:

 <t:panelGrid columns="4" columnClasses="a,b,c,d" rowClasses="x,y,z">
 </t:panelGrid>

columnClasses

columnClasses属性接受一个以逗号分隔的CSS样式类列表,这些类将应用于表的列。单个列的样式类也可以在空格分隔的列表中定义。样式类应用于表列,作为呈现的td或元素的class属性的值。

用于将CSS样式类应用于表列的算法很简单。在表呈现过程中,样式类一次一个地应用于列,直到(a)没有更多的列要显示或(b)没有更多的样式类要应用。

* If (a) happens at the same time as (b), the next row in the table is rendered.
* If (a) happens before (b), the remaining style classes are ignored.
* If (b) happens before (a), the remaining columns will not have style classes.

rowClasses

rowClasses属性接受一个以逗号分隔的CSS样式类列表,这些样式类将应用于表的行。单个行的样式类也可以在空格分隔的列表中定义。样式类应用于表行,作为呈现的tr元素的class属性的值。

Style类按定义的顺序应用于行。例如,如果有两个样式类,第一个应用于第一行,第二个应用于第二行,第一个应用于第三行,第二个应用于第四行,依此类推。样式列表从头开始循环,直到没有更多的行要显示为止。

在我的标准JSF项目(Mojarra 2.0.3)

这个标签生成:

   <h:panelGrid border="1"
                columns="4" 
                columnClasses="a,b,c,d" 
                rowClasses="x,y,z">
                    <h:outputText value="ax"/>
                    <h:outputText value="bx"/>
                    <h:outputText value="cx"/>
                    <h:outputText value="dx"/>
                    <h:outputText value="ay"/>
                    <h:outputText value="by"/>
                    <h:outputText value="cy"/>
                    <h:outputText value="dy"/>
                    <h:outputText value="az"/>
                    <h:outputText value="bz"/>
                    <h:outputText value="cz"/>
                    <h:outputText value="dz"/>
   </h:panelGrid>
这个HTML

:

    <table border="1">
        <tbody>
            <tr class="x">
                <td class="a">ax</td>
                <td class="b">bx</td>
                <td class="c">cx</td>
                <td class="d">dx</td>
            </tr>
            <tr class="y">
                <td class="a">ay</td>
                <td class="b">by</td>
                <td class="c">cy</td>
                <td class="d">dy</td>
            </tr>
            <tr class="z">
                <td class="a">az</td>
                <td class="b">bz</td>
                <td class="c">cz</td>
                <td class="d">dz</td>
            </tr>
        </tbody>
    </table>

相关内容

  • 没有找到相关文章

最新更新