# HTML

在 Web 前端页面中,

  • HTML 属于结构层,负责描绘出内容的结构
  • CSS 属于表现层,负责「如何显示有关内容」;
  • JavaScript 属于行为层,负责「内容应如何对事件做出反应」。

最近几年,提到 HTML 在广义上指的就是 HTML5。

回顾一下 HTML 的版本历史:

  • HTML4/4.01(SGML)
    • HTML4 之前都是一脉相传,不进行过多的研究。HTML4 是基于 SGML 这种标记语言写的,它是 XML(可扩展标记语言)的超集。这个版本对编写规范的要求不高。
  • XHTML(XML)
    • 为了规范,基于 XML 衍生出了 XHTML,这个标准能够严格约束大家的编码习惯。但是在 XHTML2.0 后,由于它不向前兼容,并且要求更加严格,反而给开发者带来了困扰。
  • HTML5
    • 基于 HTML4(返璞归真),在理念上进行了转变,对编写规范的要求降低了,去掉了一部分很严格的规范。
HTML4 XHTML HTML5
标签允许不结束 标签必须结束 标签允许不结束
属性不用带引号 属性必须带引号 属性不用带引号
标签属性可大写 标签属性必须小写 标签属性可大写
Boolean属性可省略值 Boolean属性必须写值 Boolean属性可省略值

现在 HTML5 已经成为一个正式的推荐标准,在工业生产中大家都在使用这个标准,所以研究 HTML5 之前的标准意义不是太大。且 HTML5 的发展也是基于前面的 HTML4 以及 XHTML 而来的,因此除非必要,否则这个系列不会特意去区分 HTML5 的新特性。在梳理知识点的时候直接涵盖了 HTML5、HTML4 的内容。


关于 HTML 的知识点,主要参考:

  • W3school 的 HTML/CSS 部分
  • MDN 中关于 HTML 的内容