当我在 HTML5 中制作图片库时,它应该有任何语义标签,比如section
or article
,还是只是一个div
?
3 回答
这取决于图片库的上下文。
如果画廊与主要内容相关,则将其作为主要内容中的内容是有意义的section
。
article
当其中的内容本身有意义时,应使用该标签,例如个别博客文章。article
当需要联合内容(例如 RSS 提要)时,使用标签标记的内容也很有意义。为了解释最后一点,W3C 解释说:
当专门与要在联合中重新分发的内容一起使用时,article 元素的用途类似于 Atom 中的 entry 元素。
该div
标签用于元素的通用分组。如果任何其他标签不适合此目的,则应使用它,并且出于样式或脚本目的需要分组。根据W3C 的建议:
强烈建议作者将 div 元素视为不得已的元素,因为当没有其他元素适合时。使用更合适的元素而不是 div 元素可以提高读者的可访问性和作者的可维护性。
回到您的问题,如果图片库与您的内容相关(例如博客文章中的图片库),我会article
为整个博客文章提供一个section
图片库。有些人可能会争辩说,如果画廊没有标题,它不应该是 a section
,因此应该标记为div
。然而,W3C 提供了一种非常好的方式来思考其网站上的部分(抱歉,不能发布超过 2 个链接少于 10 个代表点!):
一般规则是,只有当元素的内容明确地列在文档大纲中时,section 元素才是合适的。
如果您考虑一下,在文章的大纲(例如,博客文章)中列出画廊是很有意义的。如果文章有特定的介绍性文字,甚至可以在文章的大纲中列出。在概念上将大纲视为文章的一种目录,列出其各个部分。
就像我之前说的,这真的取决于上下文。
编辑:
关于画廊本身的图像figure
,按照 Romin 的建议,将它们放在里面是有意义的。回答你的评论:
thanx 但我不认为这里是正确的,因为他们说它“可以从文档的主要流程中移开,而不会影响文档的含义。” 所以它适用于文本中的图像,如果我从图库中删除图像会影响它的含义
W3C 真正推荐的是:
元素
figure
(主要内容,例如页边、专用页或附录。
换句话说,要问的问题是是否可以将图片库从主要内容(即博客文章内容或文本)中移出,而不影响文档的流动。图片库本身实际上可以从文档的主要内容中移开,例如侧边栏,并且其位置/顺序的更改不会影响内容的解释方式。如果它的位置确实有影响,那么figure
在这种特定情况下是不合适的。
总而言之,如果内容(图片库)对文档很重要,但它在内容流中的位置不重要(即它可以在没有太大影响的情况下移动),请使用figure
. 如果它的位置很重要,请使用其他标签。如果它不重要,请aside
改用。
你可以使用 asection
如果它有意义,或者aside
如果它有意义。否则使用div
.
Gallery 没有语义标签,例如audio
or video
,因此您可能需要使用div
.
直到Web Components
被释放:)
如果您使用的是 HTML5,则建议使用语义标签,并且应该是前进的方向,而不是使用div
.
事实上,画廊甚至可以很好地映射到语义标签。例如,一个部分可以包含文章列表,即单独的图像。Anaside
可以提供有关特定图像的更多信息等。
一篇很好的文章展示了如何使用figure
andfigcaption
在这里:http ://html5doctor.com/the-figure-figcaption-elements/