语义化标签
header:包含网站的标题,或者logonav:导航栏,目录main:文档的主要内容,不包含侧边栏、导航栏、版权信息、网站logo等附属信息article:文档中可以脱离其他部分,独立出来又完整,甚至可以复用的一部分,通常有自己的标题,当article内嵌article时,里外层应该是相关的,比如一篇微博和它的评论section:文档中一段主体性内容,通常也有自己的标题,跟article的区别在于它是整体的不部分或者说文章的一节aside:侧边栏或者嵌入内容,通常认为是独立拆分出来而不受整体影响的一部分,作为主要内容的附属信息,如索引,词条列表,或者页面及站点的附属信息,如广告,作者资料介绍等footer:页脚,通常包含作者、版权信息或者相关链接等figure:与主文章相关的图像、照片等流内容,不仅限图片,代码、表格等,只要是具有一定自包含性(类似独立句子)的内容,都可以用。figcaption:内容的标题address:表示文章(作者)的联系方式,明确地只关联到article和bodyhgroup:标题组abbr:表示缩写hr:表示故事走向的转变或者话题的转变- 引述相关的标签
blockquote:段落级引述内容q:行内的引述内容cite:引述的作品名
time:时间dfn:用来包裹被定义的名词pre:表示内容是预先排版过得,不需要浏览器进行排版samp:计算机程序的实例输出code:代码

使用场景
自然语言表达能力的补充
举个例子:
当没有上下文时,如何消除歧义?这就要用到我们的 em 标签了, em 表示重音:
今天我吃了一个<em>苹果</em>。今天我吃了<em>一个</em>苹果。
前面那个的表达的意思时我今天吃的是苹果,而不是别的什么东西。
后面则表示我今天只吃了一个苹果,没有多吃。
文章的结构
举个例子:
<h1>JavaScript 对象</h1><h2>我们需要模拟类吗?</h2>
上面这段代码生成的标题结构是:
- JavaScript对象
- 我们需要模拟类吗
<hgroup><h1>JavaScript对象></h1><h2>我们需要模拟类吗</h2></hgroup>
这段diamagnetic的标题结构式:
- JavaScript对象 —— 我们需要模拟类吗?
可以看出,加入了 hgroup 更加符合我们想要表达的意思。
整体结构
应用了语义化结构的页面,可以明确地提示出页面信息的主次关系,它能让浏览器很好地支持“阅读视图功能”,还可以让搜索引擎的命中率提升,同时,它也对视障用户的读屏软件更友好。
建议
尽量只用自己熟悉的语义标签,并且只在有把握的场景引入语义标签。这样,我们才能保证语义标签不被滥用,造成更多的问题。
参考链接:
