2011-09-13 26 views
4

我希望第二列是右对齐的,我不想将样式应用于<td>元素。从我读过<col>是要走的路,但它不为我工作:如何正确对齐表格单元格中的文字<col/>

<table> 
    <col style="width: 20em" /> 
    <col align="right" style="text-align: right" /> 
    <col /> 
    <tbody> 
     <tr> 
      <td>123</td> 
      <td>1</td> 
      <td>2</td> 
     </tr> 
     <tr> 
      <td>12345678</td> 
      <td>189</td> 
      <td>2</td> 
     </tr> 
    </tbody> 
</table> 

尝试<colgroup>没有运气也是如此。有任何想法吗?

p.s. 最新的浏览器,FF5

回答

5

显然只有IE和Opera允许align

更新,col应该只有borderbackgroundwidth & visibility。与CSS继承有关。 http://ln.hixie.ch/?start=1070385285&count=1(注意,我只是剔除了这篇文章,但它看起来像一个体面的阅读)。

+1

谢谢,非常有用的文章! – UserControl

-1

您可以将类应用于col元素,然后根据需要应用样式。

<col class="something" /> 

而且

col.something 
{ 
    text-align: right; 
} 
+0

这不起作用http://jsfiddle.net/Wxsfu/ –

+0

啊。我使用IE,所以它对我有用。好奇为什么我得到了一个投票,但另一个提出'class'属性的人却没有。 – ThatMatthew

+0

仅供参考,不是我的失望。 IE允许很多。 –

1

究竟如何人谁定的标准操作?在从标准中删除某些东西之前,显而易见的事情就是采用新的方法。我很失望,这不容易。

人们已经在excel中对齐了15年的文本,但最新的HTML5无法处理最新的&。

这更像是一种咆哮,但答案是让标准委员会中的一些人知道他们在做什么。我肯定会为我的答案,但事实上,这个问题必须问StackOverflow意味着它很难对齐HTML中的文本