继续前面两篇 HTML5 微数据 的介绍和语法学习。附上前面两篇文章的地址:HTML5 微数据 RDFa/微格式、HTML5 扩展之微数据语法教程。
本篇文章将深入的学习 微数据 的嵌套项、多属性、itemref页面内引用、meta添加内容、项类型、itemid全局标识。
微数据的嵌套项
前面的例子都是使用的单语法格式。下面我们将学习一个微数据的嵌套用法。我们可以给包含itemprop的元素添加itemscope插入嵌套项。
<p itemscope> <span itemprop="name"></span>的站长是 <span itemprop="members" itemscope> <span itemprop="name">涛哥</span>。 </span> </p>
定义了一个项,有两个关键字属性:name和members。该name是五月天,members则是嵌套项,包含了一个值为阿信的属性name。注意到members并无文本值。
像上面p标签这种父辈元素没有任何一个微数据项的微数据项称为“顶级微数据项”。微数据API返回的是顶级数据项及其对应的属性,以及其中嵌套的子数据项。
微数据的多属性
继续配合一个例子来讲解。
<span itemprop="members" itemscope>主要提供的技术文章有 <span itemprop="name">JAVA</span>, <span itemprop="name">数据库</span>, <span itemprop="name">HTML5</span>和 <span itemprop="name">C++</span>. </span>
项目可以包含不同值的多个属性。例如上例name属性定义了3个值:任家萱、田馥甄和陈嘉桦。
同一个元素同样也可以有多个属性关键名称(用空格分隔),例如下面这个例子:
<p itemscope> <span itemprop="name call">涛哥</span>是个帅哥。 </p>
微数据的 itemref页面内引用
先看下面的例子:
<p itemscope itemref="band-members">我每天都要阅读 <span itemprop="name"> </span> 的技术博客文章!</p> …… <span id="band-members" itemprop="members" itemscope>主要提供的技术文章有 <span itemprop="name">JAVA</span>, <span itemprop="name">数据库</span>, <span itemprop="name">HTML5</span>和 <span itemprop="name">C++</span>. </span>
上面的定义通过引用ID band-members包含了members项的三个成员名称属性,每个都是不一样的值。
微数据使用meta添加内容
如果你想添加的文本并不是页面内容的一部分,你可以在<meta>元素上使用content属性:<meta itemprop="" content="">看下面的小例子:
<p itemscope> <span itemprop="name" itemscope> 涛哥<meta itemprop="likes" content="作者"> </span>热爱开源技术学习文章撰写。 </p>
不会,有些遗憾的是,某些浏览器会自动把<meta>元素移动到head标签中。比较靠谱的做法是使用itemref做页面内引用,这样即使浏览器移除了,一些工具啥的还是能够识别出微数据。具体做法如下:
<p itemscope> <span itemprop="name" itemscope itemref="meta-likes"> 钟欣桐<meta id="meta-likes" itemprop="likes" content="twins成员"> </span>摄影爱好者陈老师的粉丝。 </p>
微数据项类型(itemtype)及全局唯一名字
通过itemtype,我们可以给微数据项指定一种类型,这个属性需要使用在含itemscope的元素上。itemtype的值是个URL地址,代表了微数据使用的词汇。请注意,这个地址只能是文本字符串,用来唯一标示词汇表,同时,该地址不一定非要指向真是的网页地址(当然,指向最好了)。这样我们就可以使用词汇表中的name名称作为itemprop名称做些定义了。看下面的例子:
<p itemscope itemtype="http://xttblog.com/">后天我要去看 <span itemprop="name">S˙H˙E</span>的演唱会,好兴奋哈! </p>
http://xttblog.com/词汇表中有个名为"name"的关键名称,如下截图:
微数据的itemid全局标识
有时,某些项需要唯一的标识进行标识。例如书的ISBN数值,我们可以借助itemid属性,如下例子:
<p itemscope itemtype="http://book.codedq.net" itemid="urn:isbn:0321687299"> <!-- 书信息… --> </p>
到这里微数据的相关知识学习完了,下章我们将做一下总结和在扩展。
: » 详解 HTML5 微数据的嵌套项、多属性、itemref、meta、itemid
原创文章,作者:306829225,如若转载,请注明出处:https://blog.ytso.com/tech/aiops/251196.html