【问题标题】:How to properly align numbers enclosed in parentheses? [duplicate]如何正确对齐括号中的数字? [复制]
【发布时间】:2013-12-15 13:50:56
【问题描述】:

我想使用 CSS 对齐括号中的正数和负数以达到以下结果:

 431,000
 (26,000)
  94,000
 (57,000)

在表格单元格上使用 text-align:right; 会返回以下结果:

 431,000
(26,000)
  94,000
(57,000)

但这并不完美。

有没有一种简单的方法可以使括号不会影响对齐方式。

我想对齐数字,使逗号彼此重叠。

谢谢!!

【问题讨论】:

  • 我认为通过 CSS 是不可能的。
  • 这不是 CSS 问题。它需要一种编程语言,例如 php 或 javascript 和 html。请参阅下面的答案。

标签: html css text-alignment


【解决方案1】:

无论您选择哪种语言,您都需要测试您的字符串输出以查看它们是负数还是正数。将括号添加到负数并在正数末尾添加  并仍然使用您的 text-align: right;如果您使用的是所有字符的宽度都像打字机一样精确的字体,请使用此选项。

或者添加这个以获得完美契合。

<span style="visibility: hidden;">)</span>

之后,无论如何这很可能会更好。

【讨论】:

  • 谢谢。只是为了确保:空格字符是否与常用字体中的括号具有相同的宽度?
  • 如果没有,我正在编辑我的答案
  • 我编辑了我的答案。请看一看。
  • 是的,这太完美了!!非常感谢..
  • 正是我需要的。比使用 width:someunit 好多了!谢谢。
【解决方案2】:

听起来您希望逗号对齐。

使用 html 的一个简单解决方案是使用表格,并将最左侧的列向右对齐,最右侧的列向左对齐。折叠表格并移除填充使其不可见。

HTML

<table>
    <tr><td class="left">431</td><td>,</td><td class="right">000</td></tr>
    <tr><td class="left">(26</td><td>,</td><td class="right">000)</td></tr>
    <tr><td class="left">94</td><td>,</td><td class="right">000</td></tr>
    <tr><td class="left">(57</td><td>,</td><td class="right">000)</td></tr>
</table>

CSS

table{border-collapse:collapse;}
td{padding:0;}
.left{text-align:right;}
.right{text-align:left;}

【讨论】:

  • 这样可以对齐她的号码,我也喜欢这样。需要很多额外的代码,但可以工作:)
猜你喜欢
  • 1970-01-01
  • 1970-01-01
  • 2017-07-16
  • 1970-01-01
  • 2011-02-04
  • 2019-10-08
  • 2021-04-25
  • 1970-01-01
  • 2017-04-02
相关资源
最近更新 更多