为什么要使用HTML5语义标记而不是div

前端之家收集整理的这篇文章主要介绍了为什么要使用HTML5语义标记而不是div前端之家小编觉得挺不错的,现在分享给大家,也给大家做个参考。
参见英文答案 > Why should I use ‘li’ instead of ‘div’?15个答案> Are new HTML5 elements like <section> and <article> pointless? [closed]8个答案> Why use HTML5 tags? [duplicate]1答案为什么使用Html5语义标记像头部分nav文章,而不是简单的div与首选的CSS。我创建了一个网页,并使用那些标签,但他们不区分div。他们的主要目的是什么。是只为适当的名称标签,而使用它或更多?请解释我经历了许多网站,但找不到这些基础。 @H_301_2@

解决方法

正如他们的名字所说,这只是为了语义的目的。它用于改进文档的自动处理。自动化处理发生的频率比你实现的更多 – 从搜索引擎的每个网站排名来自于所有的网站的自动化处理。

如果你访问一个网页,你作为人类读者可以立即(视觉上)区分所有的页面元素,更重要的是了解内容

然而,机器是愚蠢的,不能这样做:
想象一下,一个网页抓取工具或者一个screenreader试图用div来分析你的网页。他们怎么知道,你打算作为导航或主要文章的文档的哪一部分,或一些不那么重要的sidenote?他们可以通过使用一些通用标准分析您的文档结构来猜测,这些标准是特定元素的提示。例如。一个ul列表的内部链接很可能是某种类型的页面导航。然而,如果改为使用nav元素,则机器立即知道该元素的目的是什么。

示例:您作为用户(读取网页时没有看到实际的标记),不关心元素是否包含在< i>或< em>标签。可能在大多数浏览器中,它将被渲染为斜体文本,并且只要它突出了文本以容易识别它,你就可以了。
然而,在语义学上有更大的差别:< i>只是意味着斜体 – 它是一个呈现的提示的浏览器,并不一定包含更深的语义信息。 < em>然而手段强调,语义上表示重要的信息。现在浏览器不再绑定到斜体的指令了,但是可以用斜体或粗体或下划线或不同的颜色渲染它。对于视觉障碍人士,屏幕阅读器可以提高声音 – 无论什么方法似乎最适合强调这一重要信息的具体情况。

// machine: okay,this structure looks like it might be a navigation element?
<div class="some-meaningless-class"><ul><li><a href="internal_link">...</div>

// machine: ah,a navigation element!
<nav class="some-meaningless-class"><ul><li><a>...</nav>
@H_301_2@ @H_301_2@

猜你在找的HTML5相关文章