HTML表格上的条件格式

时间:2015-06-05 14:00:33

标签: html css

我有一个HTML表格  



Info.plist




`我的要求是如果BAU(第3列)为1,则相应的DOJ(第2列)单元格将为绿色,依此类推。我在linux中生成此报告。有没有办法只使用CSS和HTML来做到这一点。如果不是另一种方式?提前谢谢!

2 个答案:

答案 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应用程序的任何编程语言,并将其添加为该应用程序的一个功能。