我有一个HTML表格
Info.plist

`我的要求是如果BAU(第3列)为1,则相应的DOJ(第2列)单元格将为绿色,依此类推。我在linux中生成此报告。有没有办法只使用CSS和HTML来做到这一点。如果不是另一种方式?提前谢谢!
答案 0 :(得分:4)
有一种方法。
您可以使用data-*
属性。
像这样:
<!-- ... -->
<tr bgcolor="#6699FF">
<th>Name</th>
<th>DOJ</th>
<th>BAU</th>
</tr>
<tr data-bau="1">
<td>XXX</td>
<td>2015-06-03</td>
<td>1</td>
</tr>
<!-- ... -->
然后,在你的CSS上:
table tr[data-bau="1"] td:first-child + td {background:lightgreen;}
table tr[data-bau="2"] td:first-child + td {background:lightblue;}
table tr[data-bau="3"] td:first-child + td {background:lightyellow;}
/* ... */
示例:
table tr[data-bau="1"] td:first-child + td {background:lightgreen;}
table tr[data-bau="2"] td:first-child + td {background:lightblue;}
table tr[data-bau="3"] td:first-child + td {background:lightyellow;}
<table border="1">
<tr bgcolor="#6699FF">
<th>Name</th>
<th>DOJ</th>
<th>BAU</th>
</tr>
<tr data-bau="1">
<td>XXX</td>
<td>2015-06-03</td>
<td>1</td>
</tr>
<tr data-bau="2">
<td>YYY</td>
<td>2015-05-03</td>
<td>2</td>
</tr>
<tr data-bau="3">
<td>ZZZ</td>
<td>2015-04-03</td>
<td>3</td>
</tr>
</table>
如果这不是一个选项,您可以在生成HTML时使用style
属性:
<table border="1">
<tr bgcolor="#6699FF">
<th>Name</th>
<th>DOJ</th>
<th>BAU</th>
</tr>
<tr>
<td>XXX</td>
<td style="background: lightgreen;">2015-06-03</td>
<td>1</td>
</tr>
<tr>
<td>YYY</td>
<td style="background: lightblue;">2015-05-03</td>
<td>2</td>
</tr>
<tr>
<td>ZZZ</td>
<td style="background: lightyellow;">2015-04-03</td>
<td>3</td>
</tr>
</table>
答案 1 :(得分:1)
不,不是。
CSS或HTML都没有提供任何基于文本节点值进行格式化的方法。
您需要一种编程语言才能执行此操作。您应该使用编写Linux应用程序的任何编程语言,并将其添加为该应用程序的一个功能。