没有直接的方法可以做到这一点。HTML 4.01 有align=char
,但没有任何浏览器支持。CSS 2.0 有一个对应物,使用该text-align
属性,同样缺乏支持,因此它从 CSS 2.1 中删除。CSS3 草案有一个很好的系统来进行这种对齐,但如果没有(正确的)实现,则表明有被从规范中删除的危险。
作为一种解决方法,您可以用不可见的东西(空白)填充值,以便当值向右对齐时,小数标记对齐。有几种方法可以尝试实现这一目标:
1)使用数字 0 但在其上设置样式,使其不可见,例如
123.4<span class=s>00</span>
和
.s { visibility: hidden; }
2) 使用Figure SPACE U+2007,定义为与数字等宽(当数字等宽时),例如
123.4  
为此,您需要设置字体以使其包含 U+2007。根据http://www.fileformat.info/info/unicode/char/2007/fontsupport.htm甚至 Arial 包含它,但恐怕这可能不适用于仍在使用的旧版本的 Arial。
3) 使用不间断空格并将其宽度设置为所需的位数,使用ch
单位(定义为具有数字 0 的宽度),尽管此单位相对较新,旧浏览器不支持。例子:
123.4<span class=d2> </span>
和
.d2 { width: 2ch; display: inline-block; }
我可能会使用第一种方法。原则上,它的缺点是当 CSS 关闭时,数据包含零,这意味着有关准确性的错误信息,而在其他方法中,“仅”关闭 CSS 会打乱布局。
(很明显,数字必须具有相等的提前宽度,以便您可以完全对齐数字数据。这只是意味着用于值的字体必须具有该属性。大多数字体在这方面都会这样做,但是例如 Georgia,康斯坦蒂亚,科贝尔不会。)