我有一个这样的html表:
<div class="report">
<table>
<thead>...</thead>
<tfoot>...</tfoot>
<tbody>
<tr class="row-to-style">...</tr>
</tbody>
<tbody>...</tbody>
</table>
</div>
请注意,以上所有 tbody 的结构都相同。我想将第一个 tr.row-to-style 行的样式与其他行不同。每个 tbody 都会有一个 tr.row-to-style 但我只想影响页面上的第一行。输出是分页媒体,特别是 PrinceXML 从 xhtml 源文件生成的 pdf 文件。这意味着我们可以使用高级 css 选择器,不需要跨浏览器兼容性,也不能使用 javascript。
在输出的第一页上设置目标行的样式很容易。我可以用:
table tfoot + tbody tr.row-to-style {...}
另外,如果我知道一个页面可以容纳多少 tbody,我可以执行以下操作:
table tbody:nth-of-type(4n+1) tr.row-to-style {...}
但是,如果我不知道页面上可以容纳的 tbody 的数量,我该如何定位第一个?
实际上,在输出时,每页都重复了 thead 和 tfoot 部分。这些表格是专门为利用这一点而设计的。我们允许在 tbody 之后分页。输出可能包含几页。
因此,输出在每一页上都有一个伪头和伪tfoot。但是我看不到使用这样的方法来标记页面上的第一个 tbody。有任何想法吗?谢谢...