001-语义化的理解

语义化,顾名思义就是它对数据和信息进行处理,使得机器可以理解。站在 HTML 的角度来说,就是这个标签扮演了什么角色,有什么作用。

作用

  1. 当网页丢失样式时,可以让网页呈现出清晰的结构。
  2. 方便其他设备解析以意义的方式来渲染网页。(屏幕阅读器、盲人阅读器、移动设备)
  3. 便于团队的开发和维护,因为语义化更具可读性。
  4. 利于 SEO:搜索引擎解析,爬虫获取更多有效信息。

HTML5 语义化标签

  • <header>
  • <nav>
  • <section>
  • <article>
  • <aside>
  • <figure>
  • <figcaption>
  • <footer>

<header> 标签

该标签描述了文档的头部区域,主要用于定义内容的介绍展示区域,在页面中你可以使用多个 <header> 元素。

该标签用于定义页面的导航链接部分区域,但是,不是所有的链接都需要包含在 <nav> 元素中。

<section> 标签

该标签定义文档中的节(section、区段)。比如章节、页眉、页脚或文档中的其他部分,根据 W3C HTML5 文档: section 包含了一组内容及其标题。

<article> 标签

该标签定义独立的内容。

<aside> 标签

该标签定义页面主区域内容之外的内容(比如侧边栏)。

<figure> 标签

该标签规定独立的流内容(图像、图表、照片、代码等等)。元素的内容应该与主内容相关,但如果被删除,则不应对文档流产生影响。

<figcaption> 标签

该标签定义 <figure> 的标题,它应该被置于 <figure> 的第一个或最后一个子元素的位置。

该标签描述了文档的底部区域,一个页脚通常包含文档的作者,著作权信息,链接的使用条款,联系信息等。

平时如何保证语义化

一般的网站分为头部、导航、文章或其他模块、侧栏、底部,根据不同的部位,使用不同的标签进行书写。

  • 尽可能的少用无语义化的标签 div 和 span。
  • 在语义不明显时,既可以使用 div 或 p 时,尽量使用 p,因为 p 在默认情况下有上下间距,对兼容特殊终端设备有利。
  • 不要使用纯样式标签,如:b、font、u 等,改用 css 样式代替。
  • 需要强调的文本,可以包含 strong 或 em 标签中(浏览器预设样式,能用 css 设置就不用他们),strong 默认是加粗,em 默认是斜体。
  • 使用表格时,标题要用 caption,表头用 thead,主体部分用 tbody 包围,尾部用 tfoot 包围。表头和一般单元格要区分开,表头用 th,单元格用 td。
  • 表单域要用 fieldset 标签包起来,并用 legend 标签说明表单的用途。
  • 每个 input 标签对应的说明文本都需要使用 label 标签,并且通过为 input 设置 id 属性,在 label 标签中设置 for=someid 来让说明文本和对应的 input 关联起来。

部分答案整理自网络资源