前端之HTML
HTML是HyperText Markup Language的缩写,中文翻译为超文本标识语言。使用HTML元素编写的文档称为HTML文档,目前最新版本是5.0。
HTML5的开发是由三个重要组织负责的,具体如下:
WHATWG:由Apple,Mozilla,Google,Opera等浏览器厂商组成,成立于2004年。WHATWG开发HTML和Web应用的API,同时为各浏览器厂商以及其他有意向的组织提供开放式合作。
W3C:W3C管辖的HTML工作组,目前负责发布HTML5规范。
IETF(因特网工程任务组):该任务组下辖HTTP等负责Internet协议的团队。HTML5定义的一种新API(WebSocket API)依赖于新的WebSocket协议,IETF工作组负责开发该协议。
HTMl的优势:
(1)跨浏览器的兼容性
(2)增强交互功能
(3)更好的存储技术;HTML5中提供了本地存储功能。其中将比较老的技术cookie和客户端数据库融合。但是它比cookie更好用,因为支持多个存储,HTML5存储技术拥有更好的安全和性能,即使浏览器关闭也可以保存并且所有主流浏览器都支持。
(4)用户优先;
(5)更简单的代码;
- 以浏览器原生能力替代复杂的JavaScript代码;
- 新的简化的DOCTYPE;
- 新的简化的字符集声明;
- 简单而强大的HTML5API;
(6)通用访问
语义化标记
元素名 | 描述 |
---|---|
header | 标记头部区域的内容(用于整个页面或者页面中的一块区域) |
footer | 标记脚部区域的内容(用于整个页面或者页面中的一块区域) |
section | Web页面中的一块区域 |
article | 独立的文章内容 |
aside | 相关内容或引文 |
nav | 导航类辅助内容 |
hgroup | 对整个页面或页面中一个区域内容区块的标题进行组合 |
figure | 表示一段独立的流内容,一般表示文档主题内容中的一个独立单元 |
灵活的选择符
函数 | 描述 | 示例 | 结果 |
---|---|---|---|
querySelector() | 根据指定的选择规则,返回在页面中找到的第一个匹配元素 | querySelector("input.error") | 返回第一个CSS类名为"error"的文本输入框 |
querySelectorAll() | 根据指定规则返回页面中所有相匹配的元素 | querySelectorAll("#results td") | 返回id值为results的元素下所有的单元格 |
新增的其他元素
元素名 | 描述 | 代码示例 |
---|---|---|
video | 定义视频,比如电影片段或者其他视频流 |
<video src='movie.ogg' controls='controls'>Video 元素</video> |
audio | 定义音频,比如音乐或者其他音频流 |
<audio src="audio.wav">Audio 元素</audio> |
embed | 用来插入各种多媒体,格式可以是Midi,Wav,AIFF,AU,MP3等 |
<embed src="horse.wav" type=""> |
mark | 主要用来在视觉上向用户呈现需要突出显示或高亮显示的文字 |
<mark></mark> |
progress | 表示进度条 |
<progress></progress> |
time | 表示日期或者时间 |
<time></time> |
ruby | 表示注释(中文注音或字符) |
<ruby>中国 <rt><rp>zhongguo</rp></rt></ruby> |
wbr | 表示软换行 |
<p>It is very interesting<wbr>to learn HTML5!</p> |
canvas | 表示图形,本身没有行为,仅提供一块画布 |
<canvas id="myCanvas" width="200" height="200"></canvas> |
command | 表示命令按钮,比如单选按钮,复选框或按钮 |
<command onclick=cut() label="cut"></command> |
details | 表示用户要求得到并且可以得到的细节信息,summary元素提供标题或图例 |
<details><summary>HTML5</summary>It is very interesting to Learn HTNL5!</details> |
datagrid | 表示可选数据的列表,与input元素配合使用,可以制作出输入值的下拉列表 |
<datagrid></datagrid> |
keygen | 表示生成密钥 |
<keygen> |
HTML5中的格式元素
元素名称 | 描述 |
---|---|
<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注释 |
<samp> | 定义计算机代码样本 |
<small> | 定义小号文本 |
<strong> | 定义强调文本 |
<sup> | 定义上标文本 |
<sub> | 定义下标文本 |
HTML5中的表单元素
元素名称 | 描述 |
---|---|
<form> | 定义供用户输入的HTML表单 |
<input> | 定义输入控件 |
<textarea> | 定义多行的文本输入控件 |
<button> | 定义按钮 |
<select> | 定义选择列表(下拉列表) |
<optgroup> | 定义选择列表中相关选项的组合 |
<option> | 定义选择列表中的选项 |
<label> | 表示input元素的标注 |
<fieldset> | 定义围绕表单中元素的边框 |
<legend> | 定义fieldset元素的标题 |
<isindex> | 定义与文档相关的可搜索索引 |
<datalist> | 定义下拉列表 |
<keygen> | 定义生成密钥 |
<output> | 定义输出的一些类型 |
HTML5中的框架元素
元素名称 | 描述 |
---|---|
<frame> | 定义框架集的窗口或框架 |
<frameset> | 定义框架集 |
<noframes> | 定义针对不支持框架的用户的替代内容 |
<iframe> | 定义内联框架 |
HTML5中的图像元素
元素名称 | 描述 |
---|---|
<img> | 定义图像 |
<map> | 定义图像映射 |
<area> | 定义图像地图内部的区域 |
<canvas> | 定义图形 |
<figcaption> | 定义figure元素的标题 |
<figure> | 定义媒体内容的分组,以及它们的标题 |
HTML5中的列表元素
元素名称 | 描述 |
---|---|
<ul> | 定义无序列表 |
<ol> | 定义有序列表 |
<li> | 定义列表的项目 |
<dir> | 定义目录列表 |
<dl> | 定义定义列表 |
<dt> | 定义定义列表中的项目 |
<dd> | 定义定义列表中的项目的描述 |
<meau> | 定义命令的菜单/列表 |
<meauitem> | 定义用户可以从弹出菜单调用的命令/菜单项目 |
<command> | 定义命令按钮 |
HTML5中的表格元素
元素名称 | 描述 |
---|---|
<table> | 定义表格 |
<caption> | 定义表格标题 |
<th> | 定义表格中的表头单元格 |
<tr> | 定义表格中的行 |
<td> | 定义表格中的单元格 |
<thead> | 定义表格中的表头内容 |
<tbody> | 定义表格中的主体内容 |
<tfoot> | 定义表格中的表注内容 |
<col> | 定义表格中一个或多个列的属性值 |
<colgroup> | 定义表格中供格式化的列组 |
HTML5中的Audio/Video事件
事件 | 描述 |
---|---|
abort | 当音频/视频的加载已放弃时 |
canplay | 当浏览器可以播放音频/视频时 |
canplaythrough | 当浏览器可以不因缓冲而停顿的情况下进行播放时 |
durationchange | 当音频/视频的时长已更改时 |
emptied | 当目前的播放列表为空时 |
ended | 当目前的播放列表已结束时 |
error | 当在音频/视频加载期间发生错误时 |
loadeddata | 当浏览器已加载视频/音频的当前帧时 |
loadedmetadata | 当浏览器已加载视频/音频的元数据时 |
loadstart | 当浏览器开始查找音频/视频时 |
pause | 当音频/视频已暂停时 |
play | 当音频/视频已开始或不再暂停时 |
playing | 当音频/视频在因缓冲而暂停或停止后已就绪时 |
progress | 当浏览器正在下载音频/视频时 |
ratechange | 当音频/视频的播放速度已更改时 |
seeked | 当用户已移动/跳跃到音频/视频中的新位置时 |
seeking | 当用户开始移动/跳跃到音频/视频的新位置时 |
stalled | 当浏览器尝试获取媒体数据,但数据不可用时 |
suspend | 当浏览器刻意不获取媒体数据时 |
timeupdate | 当目前的播放位置已更改时 |
volumechange | 当音量已更改时 |