4 回答
我非常喜欢您使用abbr
标签添加上下文信息和提高可访问性的第三种方法。这是个好主意。
但是,您的任何标记都不完全符合国际单位制的规则。请参阅http://en.wikipedia.org/wiki/International_System_of_Units
您必须用一个空格字符分隔值和单位。
<td>3.8 <abbr title="Grams">g</abbr></td>
使用em
单位/值是不正确的(通常;当然,在某些情况下它可能是合适的,但不是一般情况下)。em
元素“表示其内容的重音强调”(“重音强调的位置改变了句子的含义。”)。
使用单元的abbr
元素是正确的(可能对各种用例有用)。
在您小时候使用的示例table
中td
。这不是有效的标记。如果您只有这样的名称-值对,您可以使用dl
:
<dl>
<dt>Brain weight</dt>
<dd>3.8 <abbr title="grams">g</abbr></dd>
</dl>
有一个测量微格式的草案。
在 WHATWG 版本的 HTML(“生活标准”)中,您可以找到一个data
元素. 一段时间以来,它也是 W3C HTML5 草案的一部分,但已被删除。
HTML 中的度量单位或数字没有标记,因此如果您需要对它们进行一些标记(例如,为了统一样式或使用客户端脚本处理它们),请使用具有属性的span
元素class
对于数字或单位或两者,例如
<td><span class=number>3.8</span> <span class=unit>g</span></td>
(请注意,按照国际标准,数字和单位应由空格分隔
,如果需要,可以是不间断空格)。
通常,单位不需要标记。或者更确切地说,没有我们可以将标记用于有用的目的,而span
仅仅为了好玩而编写标记会使 HTML 代码的可读性降低。
然而,在某些解释中,单位符号是缩写,因此abbr
可以使用标记。请注意,在大多数浏览器中,默认情况下这会导致(下边框)下方出现虚线,这是一个非常令人讨厌的功能;要删除它,请abbr { border: none }
在 CSS 中设置。本质上,单位符号是常规符号而不是缩写。
使用title
属性 on span
、abbr
或其他元素,可使某些辅助软件在用户请求时显示属性值。它还倾向于使其显示在常见浏览器的工具提示中。值得怀疑的是,这些“提示”是否有用,而不仅仅是干扰众所周知的符号。
使用em
将意味着原则上的强调,这很难被挪用,并且会导致在实践中使用斜体。按照国际标准,单位符号不得斜体。尽管您可以使用 CSS 删除斜体,但使用会导致斜体的标记会很奇怪。
<abbr title="Grams">g</abbr>
为之前对这个问题的错误理解道歉……在 html5 之前,我使用了一个有意义的 id/class 之前的正确答案。为上述问题定义自己的标签没有任何好处。
谢谢大家纠正我。