HTML 版本

HTML 版本历史

HTML4/ 4.01 (SGML)

HTML4/4.01(标准通用标记语言版本)是一种基于 SGML(标准通用标记语言)的 HTML(超文本标记语言)版本,它由 W3C(World Wide Web Consortium,万维网联盟)于 1997 年发布,是 HTML4 系列标准的第一个版本。HTML4/4.01 的设计旨在为开发者提供一种结构清晰、语义明确的标记语言,以实现网页内容的丰富和交互。

它的很多特性都属于 XHTML 1.0,但是不同的是,HTML4.01 使用文档类型声明 (DOCTYPE) 描述文档的语义概念,并使用 DTD(文档类型定义) 声明,以保证 HTML4.01 代码的神经性渲染。

HTML4/4.01 的主要特点包括:

HTML4/4.01 是历史上广泛使用的 HTML 标准之一,但现在已经被 HTML5 所取代。与 HTML5 相比,HTML4/4.01 在语义化、多媒体处理、表单控件、脚本编程等方面存在一些局限,但对于一些老旧的网站和系统仍然有一定的应用价值。

XHTML(XML)

XHTML(可扩展超文本标记语言) 是一种使用 XML(可扩展标记语言)语法编写的标记语言,它是 HTML(超文本标记语言)的一种扩展,用于描述 Web 页面的结构和内容。与 HTML 不同,XHTML 是一个更加严格和模块化的标记语言,它遵循 XML 的语法规则,使得 Web 页面更加标准化和易于解析。

XHTML 的主要特点包括:

XHTML 有三个版本,分别为 XHTML 1.0、XHTML 1.1 和 XHTML 2.0,其中 XHTML 1.0 是目前最广泛使用的版本。与 HTML4/4.01(SGML)相比,XHTML 更加严格和模块化,也更加可扩展和面向未来的 Web 应用。

总的来说,XHTML 是一种可扩展的、基于 XML 的标记语言,它强制要求严格的语法和规则,使得 Web 页面更具一致性和可预测性。它还具有良好的可处理性和可扩展性,可以与其他 XML 文档集成使用,帮助开发者构建更加灵活和强大的 Web 应用程序。

HTML5

HTML5 是一种用于创建 Web 页面的最新版本的 HTML(超文本标记语言)标准。它于 2014 年被 W3C 正式发布,旨在提供更加丰富和灵活的 Web 页面功能。

HTML5 引入了许多新特性,其中最重要的是:

总的来说,HTML5 是一个更加现代化、功能更加丰富和灵活的 Web 标准,它提供了许多新特性和技术,使得开发者可以更好地构建 Web 应用程序,并提供更好的用户体验和性能。

HTML 版本区别

HTML4 XHTML HTML5
标签允许不结束 标签必须结束 标签允许不结束
属性不用带引号 属性必须带引号 属性不用带引号
标签属性可大写 标签属性必须小写 标签属性可大写
Boolean 属性可省略值 Boolean 属性必须写值 Boolean 属性可省略值

HTML 检查

网站:The W3C Markup Validation Service

Markup Validation(标记验证)指的是检查 HTML、XML 或其他标记语言文档是否符合其规范或标准的过程。通常使用验证工具或服务进行检查,如 W3C(万维网联盟)提供的在线 HTML Validator 或 XML Validator。

标记验证的主要目的是确保文档的结构和语义正确,符合标准和规范,从而提高文档的可访问性、可维护性和可靠性。标记验证可以帮助开发者发现和修复文档中的错误、警告和建议,如缺少必要的元素或属性、使用了不合法的标记或属性、嵌套错误、语义不清等问题。

标记验证也有助于确保文档在不同浏览器和设备上的显示效果一致,从而提高用户体验和网站的可用性。

HTML5 新增的内容

语义化元素

这些标签的使用有助于更好地描述网页的结构和内容,让开发者和搜索引擎更容易地理解网页的内容,提高网页的可访问性和可维护性。同时,这些标签的使用也有利于 SEO,因为搜索引擎可以更好地理解网页的内容和结构,提高网页的排名。

em vs i

在 HTML5 中,<i> 元素用于表示与周围文本不同的一些文字,通常表现为斜体。然而 <i> 元素并不是用来强调或者表示强调的文本,应该使用 <em> 元素来实现这种效果。

<p>在计算机科学中,<i>递归</i>是一种常见的算法。</p>
<p>"Bonjour"是法语中的<i>你好</i>。</p>

<i> 元素用于表示特定术语或外语单词,这些文本片段与周围文本不同,但也不需要强调。在视觉上,浏览器通常会将 <i> 元素中的文本呈现为斜体。

表单增强

引入了一些新的 input 元素的 type 属性:

表单验证

使得开发者能够更容易地在客户端对用户提交的表单数据进行验证,减轻服务器端的负担,提高用户体验(之前版本只能使用 JS/Regex 进行验证)。

注意

这些验证方法仅仅是对于简单的表单输入验证,安全性较低。

自动聚焦/placeholder

注意

需要注意的是,placeholder 属性不应该被用作必填项的提示,因为这个属性只是提供了一个视觉上的提示,但不会对表单数据进行验证。如果想要标记必填项,应该使用 required 属性。