我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>
Run Code Online (Sandbox Code Playgroud)
样式background:blue被应用,但样式没有被应用color:red(在 IE、Safari、Opera、Chrome、FireFox 上测试)。
这是什么原因呢?
我们如何在整个列中应用单一文本颜色?
参见规格书。只有四个属性适用于表列,但color不是其中之一。
这是继承规则在 CSS 中工作方式的结果。
Ian Hixie 对此进行了更详细的解释。
如果要将前景色应用到特定列,则必须逐个单元格地执行此操作。除非您通过将th和混合td在同一行或使用 colspanning 使问题变得复杂,否则您可以执行以下操作:
td { color: blue; }
td + td { color: black; }
Run Code Online (Sandbox Code Playgroud)