<p>...the favourite color of Purple is purple...</p>
第一个“紫色”是公司名称,第二个是颜色名称,
我应该如何根据 html5 规范标记它?
先感谢您
<p>...the favourite color of Purple is purple...</p>
第一个“紫色”是公司名称,第二个是颜色名称,
我应该如何根据 html5 规范标记它?
先感谢您
您有多种选择:
class
或多个data-*
属性data
元素.要在这些方法之间做出决定,您应该问自己:
代码示例:
类属性
它们的目的是为您的标记添加附加信息,请记住该class
属性在 HTML 规范中,而不是CSS 规范中:
<p>...the favourite color of <span class="company">Purple</span>
is <span class="color">purple</span>...</p>
话虽如此,当然,一旦您以这种方式标记了内容,显而易见的事情就是提供页面工具来执行诸如“突出显示所有公司”之类的操作。人们已经使用class
属性作为通用语义扩展机制的基础,但是对于这种极端的方法,请参见微格式。
数据属性
这些data-*
属性允许您将自定义属性添加到标记中,以便使用脚本进行处理,以确保您不会意外使用自定义属性,然后在未来版本的 HTML 中使用该属性:
<p>...the favourite color of <span data-typeofthing="company">Purple</span>
is <span data-typeofthing="color">purple</span>...</p>
取决于您页面上的脚本对data-*
属性做一些有用的事情,浏览器和其他 Web 客户端将忽略它们。
自定义数据元素
数据元素用于具有不精确的自然语言表达但也具有精确的机器可读表达的事物。假设公司可以通过股票代码唯一标识,RGB 将用于颜色:
<p>...the favourite color of <data value="purp">Purple</data>
is <data value="rgb(128,0,128)">purple</data>...</p>
浏览器可能不会对data
元素做任何特别的事情。您很可能会将data
元素与微格式、RDFa 或微数据一起使用。
微数据
使用组织架构:
<p>...the favourite color of
<span itemscope itemtype="http://schema.org/Organization">
<span itemprop="name">Purple</span>
</span>
is purple...</p>
我所知道的颜色没有任何东西,但如果它对你很重要,你总是可以为此发布自己的模式。这种方法只有在有某种共享词汇时才能真正使任何人受益。
第一项任务是决定应该使用哪个元素来包含“实体”(公司名称和颜色名称)。很可能你想在span
这里使用。如有疑问,请使用span
. 在某些情况下(取决于内容)可以使用其他元素:
b
元素(“为了实用目的而引起注意的一段文本,但没有传达任何额外的重要性,也没有暗示替代的声音或情绪”)cite
元素。dfn
元素i
元素可能是合适的如果该术语是缩写/首字母缩略词,请使用元素 (除了/ /之外,请使用abbr
元素(而不是resp span
. )。 b
dfn
i
一个好主意可能是使用该a
元素将实体名称链接到相关网页。该rel
属性可能会提供额外的元数据(您可以使用rel
HTML5 规范中列出的值,或微格式 wiki 中的注册rel
值),具体取决于内容/上下文。
看看全局属性。
class
如果您想使用microformats ,将使用该属性。您当然可以使用其他class
名称,但它们只对您自己(文档、CSS、JS)或其他阅读您的标记(文档、抓取)的人有用。
对于像个人/公司名称这样的实体名称,您可能希望将translate
属性与no
关键字一起使用,因为不应翻译此类名称。
title
可能会提供附加信息(请注意,它具有dfn
/的特殊语义abbr
),但不要依赖它来获取重要信息。
如果lang
实体名称是外语,则使用。
有三种流行的选择,也可以一起使用(请参阅此答案(“第三步”)以获得差异的简短摘要):
您可能需要其他元素;如果是这样,请使用span
.