HTML5 是 W3C 与 WHATWG 合作的结果,WHATWG 指 Web Hypertext Application Technology Working Group。
WHATWG 致力于 web 表单和应用程序,而 W3C 专注于 XHTML 2.0。
在 2006 年,双方决定进行合作,来创建一个新版本的 HTML。
HTML5 是HTML最新的修订版本,2014年10月由万维网联盟(W3C)完成标准制定。
HTML5 的设计目的是为了在移动设备上支持多媒体。
HTML5 简单易学。
对比之前的html版本html到底有那些增强?
什么是html5?
我们日常讨论的H5其实指的是一个范称,它是由HTML5 + CSS3 + Javascript等技术组合而成的一个应用开发平台。
<!doctype> 声明必须位于 HTML5 文档中的第一行,使用非常简单:
|
|
|
注意:
申明文档语言
声明编码,中文否则会出现乱码。
特点:
结构简洁,语法宽松。
W3C验证地址 https://validator.w3.org/
标签 | 解释 |
---|---|
header | 定义了文档的头部区域 |
nav | 定义导航链接的部分。 |
section | 定义文档中的节(section、区段)。 |
article | 定义页面独立的内容区域。 |
aside | 定义页面的侧边栏内容。 |
figure | 规定独立的流内容(图像、图表、照片、代码等等)。 |
figcaption | 定义 figure 元素的标题 |
dialog | 定义对话框,比如提示框 |
footer | 定义 section 或 document 的页脚。 |
—- | —- |
bdi | 允许您设置一段文本,使其脱离其父元素的文本方向设置。 |
command | 定义命令按钮,比如单选按钮、复选框或按钮 |
details | 用于描述文档或文档某个部分的细节 |
summary | 标签包含 details 元素的标题 |
mark | 定义带有记号的文本。 |
meter | 定义度量衡。仅用于已知最大和最小值的度量。 |
progress | 定义任何类型的任务的进度。 |
ruby | 定义 ruby 注释(中文注音或字符)。 |
rt | 定义字符(中文注音或字符)的解释或发音。 |
rp | 在 ruby 注释中使用,定义不支持 ruby 元素的浏览器所显示的内容。 |
time | 定义日期或时间。 |
wbr | 规定在文本中的何处适合添加换行符。 |
经典网页布局传统版
|
|
经典网页布局HTML5版
|
|
本质上新语义标签与div、span没有区别,只是其具有表意性。
使用时除了在HTML结构上需要注意外,其它和普通标签的使用无任何差别。
可以理解成<div class=”nav”> 相当于 <nav>,不要好奇,它只是一个标签!
注意:尽量避免全局使用header、footer、aside等语义标签。
越来越多的站点开始使用 HTML5 标签。但情况是还有很多人在使用IE6,IE7,IE8。
在不支持HTML5新标签的浏览器里,会将这些新的标签解析成行内元素(inline)对待,
所以我们只需要将其转换成块元素(block)即可使用,
但是在IE9版本以下,并不能正常解析这些新标签,
但是却可以识别通过document.createElement(‘tagName’)创建的自定义标签,
于是我们的解决方案就是将HTML5的新标签全部通过document.createElement(‘tagName’)来创建一遍,
这样IE低版本也能正常解析HTML5新标签了,
在实际开发中我们更多采用的是通过检测IE浏览器的版本来加载第三方的一个JS库来解决兼容问题。
html5shiv
|
|
下载地址 http://www.bootcdn.cn/html5shiv/
博客文章
HTML5 拥有多个新的表单输入类型。这些新特性提供了更好的输入控制和验证。
本章全面介绍这些新的输入类型:
类型 | 说明 |
---|---|
在提交表单时,会自动验证 email 域的值是否合法有效 | |
url | 定义输入URL字段,在提交表单时,会自动验证 url 域的值 |
tel | 定义输入电话号码字段 |
number | 定义一个数值输入域(限定): max- 规定允许的最大值 min - 规定允许的最小值 step - 规定合法的数字间隔(如果 step=”3”,则合法的数是 -3,0,3,6 等) value - 规定默认值 |
search | 定义一个搜索字段 (类似站点搜索或者Google搜索) |
—- | —- |
range | 定义一个不需要非常精确的数值(类似于滑块控制): max- 规定允许的最大值 min - 规定允许的最小值 step - 规定合法的数字间隔(如果 step=”3”,则合法的数是 -3,0,3,6 等) value - 规定默认值 |
color | 从拾色器中选择一个颜色 |
time | 定义可输入时间控制器 |
date | 定义一个时间控制器 |
week | 定义周和年 |
month | 定义月与年 |
datetime | 定义一个日期和时间控制器 兼容性差 |
datetime-local | 定义一个日期和时间 |
注意:并不是所有的主流浏览器都支持新的input类型,不过您已经可以在所有主流的浏览器中使用它们了。即使不被支持,仍然可以显示为常规的文本域。
部分类型是针对移动设备生效的,且具有一定的兼容性,在实际应用当中可选择性的使用。
虚拟键盘调用
|
|
datalist 元素规定输入域的选项列表。
|
|
keygen 生成加密字符串
当提交表单时,会生成两个键,一个是私钥,一个公钥。
私钥(private key)存储于客户端,公钥(public key)则被发送到服务器。
|
|
output 元素用于不同类型的输出,不可当做数据提交
|
|
form
input:
学生档案
|
|
大专栏 HTML5">
|
|
|
|
|
|
<source>
的方式实现
|
|
属性 | 含义 |
---|---|
controls | 决定是否显示控制菜单 |
autoplay | 自动播放 |
loop | 循环播放 |
height/width | 定义播放器的宽高,只会在视频标签中生效 |
preload | 预加载 是否在页面加载完成并且没有开始播放时就开始加载文件,如果有自动播放属性则该属性无意义 |
方法 | 描述 |
---|---|
addTextTrack() | 向音频/视频添加新的文本轨道 |
canPlayType() | 检测浏览器是否能播放指定的音频/视频类型 |
load() | 重新加载音频/视频元素 |
play() | 开始播放音频/视频 |
pause() | 暂停当前播放的音频/视频 |
属性 | 描述 |
---|---|
audioTracks | 返回表示可用音轨的 AudioTrackList 对象 |
autoplay | 设置或返回是否在加载完成后随即播放音频/视频 |
buffered | 返回表示音频/视频已缓冲部分的 TimeRanges 对象 |
controller | 返回表示音频/视频当前媒体控制器的 MediaController 对象 |
controls | 设置或返回音频/视频是否显示控件(比如播放/暂停等) |
crossOrigin | 设置或返回音频/视频的 CORS 设置 |
currentSrc | 返回当前音频/视频的 URL |
currentTime | 设置或返回音频/视频中的当前播放位置(以秒计) |
defaultMuted | 设置或返回音频/视频默认是否静音 |
defaultPlaybackRate | 设置或返回音频/视频的默认播放速度 |
duration | 返回当前音频/视频的长度(以秒计) |
ended | 返回音频/视频的播放是否已结束 |
error | 返回表示音频/视频错误状态的 MediaError 对象 |
loop | 设置或返回音频/视频是否应在结束时重新播放 |
mediaGroup | 设置或返回音频/视频所属的组合(用于连接多个音频/视频元素) |
muted | 设置或返回音频/视频是否静音 |
networkState | 返回音频/视频的当前网络状态 |
paused | 设置或返回音频/视频是否暂停 |
playbackRate | 设置或返回音频/视频播放的速度 |
played | 返回表示音频/视频已播放部分的 TimeRanges 对象 |
preload | 设置或返回音频/视频是否应该在页面加载后进行加载 |
readyState | 返回音频/视频当前的就绪状态 |
seekable | 返回表示音频/视频可寻址部分的 TimeRanges 对象 |
seeking | 返回用户是否正在音频/视频中进行查找 |
src | 设置或返回音频/视频元素的当前来源 |
startDate | 返回表示当前时间偏移的 Date 对象 |
textTracks | 返回表示可用文本轨道的 TextTrackList 对象 |
videoTracks | 返回表示可用视频轨道的 VideoTrackList 对象 |
volume | 设置或返回音频/视频的音量 |
事件 | 描述 |
---|---|
abort | 当音频/视频的加载已放弃时 |
canplay | 当浏览器可以播放音频/视频时 |
canplaythrough | 当浏览器可在不因缓冲而停顿的情况下进行播放时 |
durationchange | 当音频/视频的时长已更改时 |
emptied | 当目前的播放列表为空时 |
ended | 当目前的播放列表已结束时 |
error | 当在音频/视频加载期间发生错误时 |
loadeddata | 当浏览器已加载音频/视频的当前帧时 |
loadedmetadata | 当浏览器已加载音频/视频的元数据时 |
loadstart | 当浏览器开始查找音频/视频时 |
pause | 当音频/视频已暂停时 |
play | 当音频/视频已开始或不再暂停时 |
playing | 当音频/视频在已因缓冲而暂停或停止后已就绪时 |
progress | 当浏览器正在下载音频/视频时 |
ratechange | 当音频/视频的播放速度已更改时 |
seeked | 当用户已移动/跳跃到音频/视频中的新位置时 |
seeking | 当用户开始移动/跳跃到音频/视频中的新位置时 |
stalled | 当浏览器尝试获取媒体数据,但数据不可用时 |
suspend | 当浏览器刻意不获取媒体数据时 |
timeupdate | 当目前的播放位置已更改时 |
volumechange | 当音量已更改时 |
waiting | 当视频由于需要缓冲下一帧而停止 |
1、document.getElementsByClassName (‘class’) 通过类名获取元素,以类数组形式存在。
2、document.querySelector(‘selector’) 通过CSS选择器获取元素,符合匹配条件的第1个元素。
3、document.querySelectorAll(‘selector’) 通过CSS选择器获取元素,以类数组形式存在。
1、Node.classList.add(‘class’) 添加class
2、Node.classList.remove(‘class’) 移除class
3、Node.classList.toggle(‘class’) 切换class,有则移除,无则添加
4、Node.classList.contains(‘class’) 检测是否存在class
Node指一个有效的DOM节点,是一个通称。
在HTML5中我们可以自定义属性,其格式如下data-*=””,例如
data-info=”我是自定义属性”,通过Node.dataset[‘info’] 我们便可以获取到自定义的属性值。
Node.dataset是以类数组形式存在的
当我们如下格式设置时,则需要以驼峰格式才能正确获取
data-my-name=”itcast”,获取Node.dataset[‘myName’]
Tab切换
|
|
原文:https://www.cnblogs.com/lijianming180/p/12286177.html