在下面的标记中使用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文档中遇到了这段代码。如果有人能为我澄清事情,我会非常感激。谢谢。
答案 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
没有任何其他真正的语义含义。 div
和span
都是通用容器。
如果你想在你的例子中添加一些语义,我建议可能是无序列表或定义列表。
所有这一切,是你有什么不正确的?不,不一定 - 特别是如果内容本身是相当自我解释的。