【发布时间】:2013-12-16 05:16:59
【问题描述】:
我为表格定义了以下样式
table tbody.center tr td {
text-align: center;
}
其目的是让 tbody 类等于 'center' 的表格单元格的内容居中对齐。
一些单元格仍然需要左对齐,所以我想要一个额外的样式
table tbody tr td.left {
text-align: left;
}
但这并不完全符合我的需要:
<table>
<tbody class="center">
<tr>
<td class="left">Should be left aligned, but is not</td>
<td>Center aligned</td>
</tr>
<tr>
<td>long text to stretch the table to be big enough to see the alignment</td>
<td>long text to stretch the table to be big enough to see the alignment</td>
</tr>
</tbody>
</table>
在此标记中,“td”对象对齐实际上具有由“table tbody.center tr td”定义的样式。
为了解决这个问题我需要引入一个额外的样式:
table tbody.center tr td.left
{
text-align: left;
}
但我不想为我的每个自定义引入“左”。
有什么方法可以更有效地解决问题并指定样式的优先级?
谢谢。
【问题讨论】:
-
你当前的 CSS 对我来说很好用:jsfiddle.net/d4uKb
-
"但我不想为我的每个自定义项引入 'left'。"你显然不是白痴。不过,我完全不明白你的意思是获得额外的优势。必须有一些方法来区分自定义。
-
我想我的意思是请定义您想要自动覆盖的模式。如果这是您所要求的某种 jQuery 方式或 CSS 可能性,这将更加清楚。
-
你当前的 CSS 对我来说也很好用!您在哪个浏览器中检查?你定义了一个文档类型吗?
-
如果您的
.center定义出现在您的.left定义之后,那么如果您切换两者,很可能会解决您的问题。