我想我很蠢,但我不知道一些新的HTML5标签背后的原因是什么。
某些代码(例如<audio>
和<canvas>
)为浏览器提供了一些很棒的新功能,但<article>
,<section>
等其他代码只显示为{ {1}}或<div>
。因此,为什么要将这些标签添加到HTML5?
我做了这个jsfiddle:http://jsfiddle.net/6BHAM/。至少在Chrome中,没有令人兴奋的布局或其他什么。可以使用<span>
/ <span>
。
那些不添加新功能的HTML5标签的用途是什么?
答案 0 :(得分:6)
标签背后的语义比浏览器生成的布局重要得多。 HTML不仅可以通过浏览器进行解析,还可以通过网络爬虫或辅助工具(如屏幕阅读器)进行解析。屏幕阅读器可能会特别强调所使用的某个标记,或者网页抓取工具可以为其存储的元数据选择某些内容而不是其他内容。
进一步阅读:
答案 1 :(得分:5)
这个想法是让HTML代码更容易理解,因为它不是仅为图形渲染而创建的。
使用文章或部分等标记可以简化HTML阅读,并且还可以帮助您设置网页样式,因为您可以为文章使用不同的CSS 比其他div没有添加特殊类或ID。
答案 2 :(得分:3)
这个想法是HTML允许更多地给出封装测试的语义含义而不是它应该如何呈现。
这样可以更清晰地分离内容结构和内容呈现。
答案 3 :(得分:2)
这是SEO的最佳实践。在article
或nav
区域内进行搜索之前,机器人会先aside
进行搜索和引用。
答案 4 :(得分:1)
HTML的目的是描述文档的含义而不是它的样子。扩展有助于实现这一目标。
答案 5 :(得分:1)
原因是我们正在转向Semantic Web。这是为了帮助机器了解网页中显示的信息的上下文。
w3c将<div>
定义为语义无意义和通用。
The DIV and SPAN elements, in conjunction with the id and class attributes, offer a generic mechanism for adding structure to documents. These elements define content to be inline (SPAN) or block-level (DIV) but impose no other presentational idioms on the content.
现在查看<article>
的规范:
The article element represents a self-contained composition in a document, page, application, or site and that is, in principle, independently distributable or reusable, e.g. in syndication. This could be a forum post, a magazine or newspaper article, a blog entry, a user-submitted comment, an interactive widget or gadget, or any other independent item of content.