2013-03-08 65 views
8

我制作一个表格,并希望第一个单元格从右侧开始而不是从左侧开始为默认。 我试着改变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> 
table.result_table { 
    float:right; 
} 

任何人都可以提出一个方法来改变这种表的浮动?

+0

你想要改变什么?第一个单元格的内容? – 2013-03-08 12:19:30

+3

为什么不使用'direction:ltr;'作为单元格? – 2013-03-08 12:20:37

+0

将表格方向更改为''rtl' insted'float' – Alireza41 2013-03-08 12:24:57

回答

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

+0

感谢您的评论,但rtl为我完美工作。 – antonpuz 2013-03-08 12:55:48

11

正如评论中所建议的,您可以将方向性设置为从右到左(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; } 
0

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

<table dir="rtl"> 
    ... 
</table>