我有一个 tr:table,我需要使用 CSS 设置样式。表格的所有常规样式功能都可以使用,但行带和行选择不会出现。当我查看呈现的源代码时,我没有看到要抓取的 id 或类的行有什么不同,而且官方文档也没有任何用于声明样式类的属性。这可能吗?如果可以,我需要做什么才能让我的 CSS 捕获它?
<tr:table id="myTable" value="#{tableValues}" rowBandingInterval="1">
<tr:column>
##Stuff##
</tr:column>
<tr:column>
##Stuff##
</tr:column>
<tr:column>
##Stuff##
</tr:column>
</tr:table>
编辑
让我试着弄清楚发生了什么。
首先,使用上面的声明告诉 jsf 生成一个表,属性 rowBandingInterval 告诉它给每一行交替颜色(如果设置为 2,那么它将做 2 行一种颜色,2 行另一种颜色,2行原始等)
一旦页面呈现为标准 html,trinidad(和 jsf)将它们自己的类和 ID 应用到 html。我的正常程序是查看呈现的 html,找到它正在应用的类并为其添加 CSS 规则。然而在这种情况下,没有添加额外的样式(呈现的 html 中没有任何内容表示一行与另一行不同)。
所以问题是,我如何告诉特立尼达给交替行和用户选择的行不同的类/ID,以便我使用 CSS 抓取?
编辑 2
只是为了让大家注意,实际的 td
元素也没有任何变化
编辑 3
在切换所有属性然后将所有代码剥离到它的骨架后,我找到了行带属性。 Trinidad 类相当复杂,除非您重新格式化代码并消除所有噪音,否则您将看不到它。特立尼达将 .af_column_cell-text-band
类添加到带状行,而普通行只有 .af_column_cell-text
。这样问题就解决了一半。我仍然需要知道用户选择的行的选择器,为此我很乐意将所有弹珠交给任何可以给我答案的人。
最佳答案
这不是直接回答你的问题,但是为什么不用CSS3伪类nth-child来实现这个效果呢?例如:
tr:nth-child(2n)
{
background-color:red;
}
关于css - tr :table using CSS 中的样式行分段和选择,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/3023236/