我在一个表中有一个col
标签:
<!doctype html>
<table>
<col style='color:red;background:blue;'/>
<tr>
<td>1</td>
<td>2</td>
</tr>
<tr>
<td>3</td>
<td>4</td>
</tr>
<tr>
<td>5</td>
<td>6</td>
</tr>
</table>
样式background:blue
正在应用,但不是样式color:red
(在IE, Safari, Opera, Chrome, FireFox上测试)。
那是什么原因?
如何在整个列中应用单一的文本颜色?
参见规范。只有四个属性适用于表列,color
不是其中之一。
这是CSS中继承规则工作的结果。
Ian Hixie对此有更详细的解释。
如果要对特定列应用前景色,则必须逐个单元格执行。除非您通过将th
和td
混合在同一行或使用colspan来使问题复杂化,否则您可以这样做:
td { color: blue; }
td + td { color: black; }