一、HTML历史
1、HTML版本及简介
HTML | 1991 |
HTML+ | 1993 |
HTML 2.0 | 1995 |
HTML 3.2 | 1997 |
HTML 4.01 | 1999 |
XHTML 1.0 | 2000 |
HTML5 | 2012 |
HTML5简介:
HTML5规范于2014年10月29日由万维网联盟正式宣布,HTML是万维网最核心的超文本标记语言。万维网不等同于互联网,但它是依靠互联网运行的服务之一,万维网又简写为www,它可以实现在互联网的帮助下,访问由许多互相链接的超文本组成的系统。HTML5 是 W3C(World Wide Web Consortium,万维网联盟) 与 WHATWG (Web Hypertext Application Technology Working Group)合作的结果,WHATWG 致力于 web 表单和应用程序,而 W3C 专注于 XHTML 2.0。从1999年发布了HTML4.01之后,在 2006 年,双方决定进行合作,来创建一个新版本的 HTML。到2014年经历十五年才推行HTML,中间还出现了WHATWG和XHTML2.0两种规范,最后双方合并成全新的HTML5版本。HTML5 将成为 HTML、XHTML 以及 HTML DOM 的新标准。
为 HTML5 建立的一些规则:
- 新特性应该基于 HTML、CSS、DOM 以及 JavaScript。
- 减少对外部插件的需求(比如 Flash)
- 更优秀的错误处理
- 更多取代脚本的标记
- HTML5 应该独立于设备
- 开发进程应对公众透明
2、通用声明
1)HTML5
<!DOCTYPE html>
<!--注意:doctype 声明是不区分大小写的,用来告知 Web 浏览器页面使用了哪种 HTML 版本
HTML5 中新增了一些有趣的新特性:
用于绘画的 canvas 元素
用于媒介回放的 video 和 audio 元素
对本地离线存储的更好的支持
新的特殊内容元素,比如 article、footer、header、nav、section
新的表单控件,比如 calendar、date、time、email、url、search
-->
2)HTML4.01
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN"
"http://www.w3.org/TR/html4/loose.dtd">
<!--注意:
1、在HTML 4.01 中,<!DOCTYPE> 声明需引用 DTD (文档类型声明,DTD 指定了标记语言的规则),因为 HTML 4.01 是基于SGML(Standard Generalized Markup Language 标准通用标记语言)
2、HTML 4.01 规定了三种不同的 <!DOCTYPE> 声明,分别是:Strict、Transitional 和 Frameset。
1)HTML 4.01 Strict(严格):不允许使用表现性、废弃元素(如font)以及框架集(如frameset)
2)HTML 4.01 Transitional(过渡) :允许使用表现性、废弃元素(如font),不允许使用框架集(如frameset)
3)HTML 4.01 Frameset(框架):允许表现性元素,废气元素以及框架集。
3、HTML5 不是基于 SGML,因此不要求引用 DTD
-->
3、HTML5中的标签元素
1)基础标签
标签 | 描述 |
---|---|
<!DOCTYPE> | 定义文档类型。 |
<html> | 定义 HTML 文档。 |
<title> | 定义文档的标题。 |
<body> | 定义文档的主体。 |
<h1> to <h6> | 定义 HTML 标题。 |
<p> | 定义段落。 |
<br> | 定义简单的折行。 |
<hr> | 定义水平线。 |
<!--...--> | 定义注释。 |
2)格式标签
标签 | 描述 |
---|---|
<acronym> | 定义只取首字母的缩写。 |
<abbr> | 定义缩写。 |
<address> | 定义文档作者或拥有者的联系信息。 |
<b> | 定义粗体文本。 |
<bdi> | 定义文本的文本方向,使其脱离其周围文本的方向设置。 |
<bdo> | 定义文字方向。 |
<big> | 定义大号文本。 |
<blockquote> | 定义长的引用。 |
<center> | 不赞成使用。定义居中文本。 |
<cite> | 定义引用(citation)。 |
<code> | 定义计算机代码文本。 |
<del> | 定义被删除文本。 |
<dfn> | 定义定义项目。 |
<em> | 定义强调文本。 |
<font> | 不赞成使用。定义文本的字体、尺寸和颜色 |
<i> | 定义斜体文本。 |
<ins> | 定义被插入文本。 |
<kbd> | 定义键盘文本。 |
<mark> | 定义有记号的文本。 |
<meter> | 定义预定义范围内的度量。 |
<pre> | 定义预格式文本。 |
<progress> | 定义任何类型的任务的进度。 |
<q> | 定义短的引用。 |
<rp> | 定义若浏览器不支持 ruby 元素显示的内容。 |
<rt> | 定义 ruby 注释的解释。 |
<ruby> | 定义 ruby 注释。 |
<s> | 不赞成使用。定义加删除线的文本。 |
<samp> | 定义计算机代码样本。 |
<small> | 定义小号文本。 |
<strike> | 不赞成使用。定义加删除线文本。 |
<strong> | 定义语气更为强烈的强调文本。 |
<sup> | 定义上标文本。 |
<sub> | 定义下标文本。 |
<time> | 定义日期/时间。 |
<tt> | 定义打字机文本。 |
<u> | 不赞成使用。定义下划线文本。 |
<var> | 定义文本的变量部分。 |
<wbr> | 定义可能的换行符。 |
3)表单标签
标签 | 描述 |
---|---|
<form> | 定义供用户输入的 HTML 表单。 |
<input> | 定义输入控件。 |
<textarea> | 定义多行的文本输入控件。 |
<button> | 定义按钮。 |
<select> | 定义选择列表(下拉列表)。 |
<optgroup> | 定义选择列表中相关选项的组合。 |
<option> | 定义选择列表中的选项。 |
<label> | 定义 input 元素的标注。 |
<fieldset> | 定义围绕表单中元素的边框。 |
<legend> | 定义 fieldset 元素的标题。 |
<isindex> | 不赞成使用。定义与文档相关的可搜索索引。 |
<datalist> | 定义下拉列表。 |
<keygen> | 定义生成密钥。 |
<output> | 定义输出的一些类型。 |
4)框架标签
标签 | 描述 |
---|---|
<frame> | 定义框架集的窗口或框架。 |
<frameset> | 定义框架集。 |
<noframes> | 定义针对不支持框架的用户的替代内容。 |
<iframe> | 定义内联框架。 |
5)图像标签
标签 | 描述 |
---|---|
<img> | 定义图像。 |
<map> | 定义图像映射。 |
<area> | 定义图像地图内部的区域。 |
<canvas> | 定义图形。 |
<figcaption> | 定义 figure 元素的标题。 |
<figure> | 定义媒介内容的分组,以及它们的标题。 |
6)音频/视频
标签 | 描述 |
---|---|
<audio> | 定义声音内容。 |
<source> | 定义媒介源。 |
<track> | 定义用在媒体播放器中的文本轨道。 |
<video> | 定义视频。 |
7)链接
标签 | 描述 |
---|---|
<a> | 定义锚。 |
<link> | 定义文档与外部资源的关系。 |
<nav> | 定义导航链接。 |
8)列表标签
标签 | 描述 |
---|---|
<ul> | 定义无序列表。 |
<ol> | 定义有序列表。 |
<li> | 定义列表的项目。 |
<dir> | 不赞成使用。定义目录列表。 |
<dl> | 定义定义列表。 |
<dt> | 定义定义列表中的项目。 |
<dd> | 定义定义列表中项目的描述。 |
<menu> | 定义命令的菜单/列表。 |
<menuitem> | 定义用户可以从弹出菜单调用的命令/菜单项目。 |
<command> | 定义命令按钮。 |
9)表格标签
标签 | 描述 |
---|---|
<table> | 定义表格 |
<caption> | 定义表格标题。 |
<th> | 定义表格中的表头单元格。 |
<tr> | 定义表格中的行。 |
<td> | 定义表格中的单元。 |
<thead> | 定义表格中的表头内容。 |
<tbody> | 定义表格中的主体内容。 |
<tfoot> | 定义表格中的表注内容(脚注)。 |
<col> | 定义表格中一个或多个列的属性值。 |
<colgroup> | 定义表格中供格式化的列组。 |
10)样式/节标签
标签 | 描述 |
---|---|
<style> | 定义文档的样式信息。 |
<div> | 定义文档中的节。 |
<span> | 定义文档中的节。 |
<header> | 定义 section 或 page 的页眉。 |
<footer> | 定义 section 或 page 的页脚。 |
<section> | 定义 section。 |
<article> | 定义文章。 |
<aside> | 定义页面内容之外的内容。 |
<details> | 定义元素的细节。 |
<dialog> | 定义对话框或窗口。 |
<summary> | 为 <details> 元素定义可见的标题。 |
11)元信息标签
标签 | 描述 |
---|---|
<head> | 定义关于文档的信息。 |
<meta> | 定义关于 HTML 文档的元信息。 |
<base> | 定义页面中所有链接的默认地址或默认目标。 |
<basefont> | 不赞成使用。定义页面中文本的默认字体、颜色或尺寸。 |
12)编程标签
标签 | 描述 |
---|---|
<script> | 定义客户端脚本。 |
<noscript> | 定义针对不支持客户端脚本的用户的替代内容。 |
<applet> | 不赞成使用。定义嵌入的 applet。 |
<embed> | 为外部应用程序(非 HTML)定义容器。 |
<object> | 定义嵌入的对象。 |
<param> | 定义对象的参数。 |
4、HTML5中新增的标签
1)图形绘画
标签 | 描述 |
---|---|
<canvas> | 标签定义图形,比如图表和其他图像。该标签基于 JavaScript 的绘图 API |
2)新多媒体元素
标签 | 描述 |
---|---|
<audio> | 定义音频内容 |
<video> | 定义视频(video 或者 movie) |
<source> | 定义多媒体资源 <video> 和 <audio> |
<embed> | 定义嵌入的内容,比如插件。 |
<track> | 为诸如 <video> 和 <audio> 元素之类的媒介规定外部文本轨道。 |
3)新表单元素
标签 | 描述 |
---|---|
<datalist> | 定义选项列表。请与 input 元素配合使用该元素,来定义 input 可能的值。 |
<keygen> | 规定用于表单的密钥对生成器字段。 |
<output> | 定义不同类型的输出,比如脚本的输出。 |
4)新的语义和结构元素
标签 | 描述 |
---|---|
<article> | 定义页面独立的内容区域。 |
<aside> | 定义页面的侧边栏内容。 |
<bdi> | 允许您设置一段文本,使其脱离其父元素的文本方向设置。 |
<command> | 定义命令按钮,比如单选按钮、复选框或按钮 |
<details> | 用于描述文档或文档某个部分的细节 |
<dialog> | 定义对话框,比如提示框 |
<summary> | 标签包含 details 元素的标题 |
<figure> | 规定独立的流内容(图像、图表、照片、代码等等)。 |
<figcaption> | 定义 <figure> 元素的标题 |
<footer> | 定义 section 或 document 的页脚。 |
<header> | 定义了文档的头部区域 |
<mark> | 定义带有记号的文本。 |
<meter> | 定义度量衡。仅用于已知最大和最小值的度量。 |
<nav> | 定义导航链接的部分。 |
<progress> | 定义任何类型的任务的进度。 |
<ruby> | 定义 ruby 注释(中文注音或字符)。 |
<rt> | 定义字符(中文注音或字符)的解释或发音。 |
<rp> | 在 ruby 注释中使用,定义不支持 ruby 元素的浏览器所显示的内容。 |
<section> | 定义文档中的节(section、区段)。 |
<time> | 定义日期或时间。 |
<wbr> | 规定在文本中的何处适合添加换行符。 |
5、HTML5中已移除或不建议使用的元素
标签 | 描述 |
---|---|
<acronym> | 标记一个首字母缩写.。HTML5中已移除。请使用 <abbr> 标签代替 |
<applet> | 一个嵌入的 Java applet。请使用 object 元素 标签代替。 |
<basefont> | 规定页面上的默认字体颜色和字号。HTML4.01 中不被赞成使用。使用CSS样式表代替。 |
<center> | 对其所包括的文本进行水平居中。HTML 4.01 中不被赞成使用。使用CSS样式表代替。 |
<dir> | 目录列表。HTML 4.01 中,dir 元素不被赞成使用。使用CSS样式表代替。 |
<font> | 规定文本的字体、字体尺寸、字体颜色。HTML 4.01 中,font 元素不被赞成使用。使用CSS样式表代替。 |
<isindex> | 不赞成使用。定义与文档相关的可搜索索引。 |
<s> | 不赞成使用。定义加删除线的文本。使用CSS样式表代替。 |
<strike> | 不赞成使用。定义加删除线文本。 |
<u> | 不赞成使用。定义下划线文本。 |
<!DOCTYPE html>
<html>
<head>
<meta charset="utf-8" />
<title></title>
</head>
<body>
<!--acronym 和 abbr 的作用:
1)增加可阅读性。我们看文章时会遇到一些缩写,我们没见过,加上他就能显示是什么词语的缩写。
2)对搜索引擎友好。比如我们搜索:PRC,搜索引擎会自动将“PRC”和“People's Republic of China”对应起来,搜索“PR”和
“People's Republic of China”,这个页面都会被检索到。-->
<!--acronym 和 abbr 的区别(内在表达的不一样):
acronym 标记一个首字母缩写,依然可以显示出效果。现在acronym已经淘汰不用了,所以尽量改用abbr就好。
abbr 标记一个缩写,全词的缩写。-->
<acronym title="World Wide Web">WWW</acronym>
<abbr title="People's Republic of China">PRC</abbr>
</body>
</html>