为什么不对TD(表格单元格)上的数字使用弃用的align ='right'?

时间:2013-11-04 21:10:52

标签: html5 numbers alignment html-table semantic-markup

我指的是用于显示表格数据的表格,例如:电子表格,专注于数字,我觉得and see in UX应该正确对齐,格式正确(带有相同的小数位数)以方便总和。对于数字,这看起来像是语义和格式之间的边界情况,对于其他类型的数据类型,例如选择对齐的日期更加随意。

我当然同意在可能的情况下使用css,但css并不总是支持或启用,我看到使用align ='right'的原因,因为它在没有css支持的情况下给出了合适的默认值。例如,在my version of Lynx或浏览器用户禁用css进行打印时会发生这种情况。

猜测:可能是一个更加语义的属性,例如< td number ='true'>如果看到有问题的话,也可以做这项工作

 <input type='number'> 
HTML5 in respect to localization中的

我希望它能在右边对齐。

我还记得在某个时间点difficult to override将属性与css对齐(我记得css设计师要求我将其从HTML中删除)但是seems not true (anymore?) now

我错过了什么吗?我个人在我的html中为数字生成align ='right'。

我的主要问题是:除了在HTML TD上使用ALIGN ='right'以获得格式正确的数字之外,是否有任何理由除外?

感谢。

2 个答案:

答案 0 :(得分:2)

你听起来就像你知道你在说什么,所以我会说只使用align = right。当然要注意这个的缺点:

  • 以后维护起来比较困难。如果您有多个表并更改对齐,则需要为每个表执行此操作
  • 搜索引擎可能惩罚严重依赖已弃用标签的网站
  • 浏览器可能会在将来删除对已弃用标记的支持。他们会事先声明这一点,所以你希望网站能够恢复正在进行的维护,你将有时间来解决这个问题

答案 1 :(得分:2)

我不认为对齐会改变此示例中的语义。当然,对齐数字是好的,但是当它们没有对齐时,没有任何意义被改变/丢失。阅读内容有点困难。但是其他CSS属性也是如此。

我不会使用align属性。由于某种原因(“must not be used by authors”,而不是“不应该”),它已经过时了。

相反,请查看Unicode的figure space (U+2007)。如果您不能直接使用此字符,则可以使用字符引用:

  • 十六进制:&#x2007;
  • 十进制:&#8199;

<table>
  <tr><td>100000.00</td></tr>
  <tr><td>&#8199;&#8199;&#8199;100.00</td></tr>
</table>