11

我制作了一个表格,并希望第一个单元格从右侧开始,而不是默认从左侧开始。我尝试更改 CSS 中的 float 属性,但似乎没有帮助。这是代码:

<table border="0" width="100%" cellspacing="0" align="center" class="result_table">
    <tr align="right">
    <th bgcolor="#cccccc" align="right">1</th>
    <th bgcolor="#cccccc" size="17">2</th>
    <th bgcolor="#cccccc">3</th>
    <th bgcolor="#cccccc">4</th>
    </tr>

</table>

<style>
    table.result_table {
        float:right;
    }
</style>

谁能建议一种方法来改变这张桌子的浮动?

4

3 回答 3

15

正如评论中所建议的,您可以将方向性设置为从右到左 (RTL)。但是,除非您的表格内容是从右到左的语言,否则您应该另外将表格内容元素中的方向性设置为从左到右。否则,它们会继承 RTL 方向性,这在许多情况下会引起意外,因为方向性也设置了整体文本方向性。这不会影响西方语言中的正常文本,但会影响例如“4 (5)”之类的内容,该内容将显示为具有 RTL 方向性的“(5) 4”。

因此,您应该设置

table.result_table {
  direction: rtl; }
table.result_table caption, table.result_table th, table.result_table td {
  direction: ltr; }
于 2013-03-08T15:01:33.880 回答
3

有一个更简单的方法。您可以添加direction="rtl"到表中。

<table dir="rtl">
     ...
</table>
于 2017-11-09T13:50:12.213 回答
0

我不确定这是否可以仅通过 CSS 来实现。如果使用 jQuery 对你来说没问题,那么这里有一个可能会让你得到想要的结果的想法:

CSS:

.result_table{float:left; width:100%; border-collapse:collapse; padding:0;}
.result_table th{float:right; padding:0;}

JS:

var cols = $('.result_table th').length;
var colWidth = 100 / cols;
$('.result_table th').css({width:colWidth+'%'})

示例 - jsFiddle

于 2013-03-08T12:47:42.570 回答