是否可以在不指定每一行中的类的情况下全局文本对齐表格列?

chr*_*rth 5 css jquery

想知道使这更有效的最佳方法是什么,也许是使用 jQuery。我对不符合 ie7 的解决方案没有意见,如果需要,即使不支持 ie8 也可以。

<style type="text/css">
.cal {text-align:center}
.ral {text-align:right}
</style>
<table>
 <th>
  <td class="cal">center</td>
  <td>left</td>
  <td class="cal">center</td>
  <td>left</td>
  <td class="ral">right</td>
 </th>
 <tr>
  <td class="cal">center</td>
  <td>left</td>
  <td class="cal">center</td>
  <td>left</td>
  <td class="ral">right</td>
 </tr>
 <tr>
  <td class="cal">center</td>
  <td>left</td>
  <td class="cal">center</td>
  <td>left</td>
  <td class="ral">right</td>
 </tr>
</table>
Run Code Online (Sandbox Code Playgroud)

djl*_*ley 5

您可以使用 jQuery 向每行中的第五个 td 添加一个类,并设置该类的样式以将文本向右对齐。

或者(以及我这样做的方式)使用第n 个子选择器

tr td:nth-child(odd) {
    text-align: center;
}

tr td:nth-child(5) {
    text-align: right;
}
Run Code Online (Sandbox Code Playgroud)

它与 IE 8.0 不兼容,但它比基于 JavaScript 的解决方案简单得多。