【问题标题】:Printing table cells from right to left从右到左打印表格单元格
【发布时间】:2013-03-08 12:15:52
【问题描述】:

我制作了一个表格,并希望第一个单元格从右开始,而不是默认从左开始。 我尝试更改 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>

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

【问题讨论】:

  • 你想改变什么?第一个单元格的内容?
  • 为什么不使用direction:ltr;作为单元格?
  • 将表格方向更改为rtl insted of float
  • 感谢 rtl 完美运行。!

标签: html css html-table right-to-left


【解决方案1】:

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

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

【讨论】:

    【解决方案2】:

    按照 cmets 中的建议,您可以将方向性设置为从右到左 (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; }
    

    【讨论】:

    • 我不得不反其道而行之,但这很有帮助。谢谢!
    【解决方案3】:

    我不确定这是否可以仅使用 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

    【讨论】:

    • 感谢您的评论,但 rtl 非常适合我。
    猜你喜欢
    • 1970-01-01
    • 2015-06-03
    • 2014-01-16
    • 2013-05-10
    • 1970-01-01
    • 2017-02-21
    • 2017-07-22
    • 1970-01-01
    • 2022-11-27
    相关资源
    最近更新 更多