正如 David Dorward 所说,没有办法用 CSS 干净利落地做你想做的事,但是我可以想到一些解决方法......
假设您的 html 是这样的(即具有背景颜色的东西是表格单元格中唯一的东西):
<table>
<tr>
<td>test with longish string<br/> over two lines<td>
<td><span class="bg" >test</span></td>
</tr>
<tr>
<td>test with longish string<br/> over two lines<td>
<td>test with longish string<br/> over two lines<td>
</tr>
</table>
您可以对您的 CSS 执行此操作:
td { height: 100%;}
.bg { background-color: #f00; width: 100%; height: 100%; display: block; }
它适用于这个简单的示例(至少在 Firefox 3.5 中),但可能会产生其他副作用,具体取决于您的 html 内容的外观。
编辑:如果您可以通过 javascript 破解它,另一种选择是使用 jQuery,如下所示:
$(function() { $("td:has(span.bg)").addClass("bg"); });
这适用于上面的示例 html/css,但显然需要更改以匹配您的 css 类等。