html5语义 - span标签vs p标签

时间:2015-02-17 21:17:38

标签: html5

在下面的标记中使用span标记是否在语义上正确?

<div itemscope itemtype ="http://schema.org/Movie">
  <h1 itemprop="name">Avatar</h1>
  <span>Director: <span itemprop="director">James Cameron</span> (born August 16, 1954)</span>
  <span itemprop="genre">Science fiction</span>
  <a href="../movies/avatar-theatrical-trailer.html" itemprop="trailer">Trailer</a>
</div>

导演和流派应该放在p元素内吗?你应该用p标签替换开口div吗?将导演和流派放在span标签内似乎是不对的。

我正在学习HTML,并在schema.org文档中遇到了这段代码。如果有人能为我澄清事情,我会非常感激。谢谢。

2 个答案:

答案 0 :(得分:1)

根据http://validator.w3.org/check的验证程序,此代码符合HTML5:

<!DOCTYPE html>
<html>
<head>
<title>Title</title>
</head>
<body>
<div itemscope itemtype ="http://schema.org/Movie">
  <h1 itemprop="name">Avatar</h1>
  <span>Director: <span itemprop="director">James Cameron</span> (born August 16, 1954)</span>
  <span itemprop="genre">Science fiction</span>
  <a href="../movies/avatar-theatrical-trailer.html" itemprop="trailer">Trailer</a>
</div>
</body>
</html>

编辑: 谈到语义,span tag“本身并不意味着什么,但在与全局属性一起使用时可能很有用”(参见specifications)。使用无属性span标记是没有意义的,事实上,p标记就是这里推荐的标记。

答案 1 :(得分:1)

默认情况下,span在HTML中没有真正的语义含义。它只是一种阻止来自其他内联内容的内联内容的方法。

div没有任何其他真正的语义含义。 divspan都是通用容器。

如果你想在你的例子中添加一些语义,我建议可能是无序列表或定义列表。

所有这一切,是你有什么不正确的?不,不一定 - 特别是如果内容本身是相当自我解释的。