如何在带有<col/>的表格单元格中右对齐文本

4
我希望第二列右对齐,但不想对 <td> 元素应用样式。根据我所读的,<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>也没有成功。有什么想法吗?
附注: 最新的Chrome和FF5。
3个回答

5

显然只有IE和Opera允许使用align属性。

更新,col应该只有borderbackgroundwidthvisibility属性,这与CSS继承有关。http://ln.hixie.ch/?start=1070385285&count=1(注意,我只是简单地浏览了一下这篇文章,但它似乎是一个不错的读物)。


1

人们如何制定标准?显然,在从标准中移除某些内容之前,最好先让新的方法运作起来。但很遗憾,这并不容易。

15年来,人们一直在Excel中将文本右对齐,但最新的HTML5却无法处理它。

这更像是一场抱怨,但答案是让一些了解自己在做什么的人加入标准委员会。我肯定会因为我的回答而受到批评,但问题必须在StackOverflow上提出,这意味着在HTML中对齐文本太困难了。


-1

您可以为col元素应用一个类,然后按照您的喜好进行样式设置。

<col class="something" />

而且

col.something
{
    text-align: right;
}

啊,我使用的是IE浏览器,所以它对我起作用了。不知道为什么我被踩了一下,但是建议使用“class”属性的那个人却没有。 - ThatMatthew
很不幸,我在工作中被迫使用IE浏览器。显然,它正在影响我的大脑。 - ThatMatthew

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接