1.什么是HTML5?

HTML5将成为HTML、XHTML以及HTML DOM的新标准。

2.HTML5视频

视频格式

当前HTML5支持三种视频格式:

格式 IE Firefox Opera Chrome Safari
Ogg No 3.5+ 10.5+ 5.0+ No
MPEG 4 9.0+ No No 5.0+ 3.0+
WebM No 4.0+ 10.6+ 6.0+ No

Ogg = 带有 Theora 视频编码和 Vorbis 音频编码的 Ogg 文件

MPEG4 = 带有 H.264 视频编码和 AAC 音频编码的 MPEG 4 文件

WebM = 带有 VP8 视频编码和 Vorbis 音频编码的 WebM 文件

control属性供添加播放、暂停和音量控制。

<video>与</video>之间插入的内容是供不支持video元素的浏览器显示的:

video元素允许多个source元素。source元素可以链接不同的视频文件。浏览器将使用第一个可识别的格式:

<video width="320" height="240" controls="controls">
<source src="movie.ogg" type="video/ogg">
<source src="movie.mp4" type="video/mp4">
Your browser does not supprote the video tag.
</video>

<video> 标签的属性

属性 描述
autoplay autoplay 如果出现该属性,则视频在就绪后马上播放。
controls controls 如果出现该属性,则向用户显示控件,比如播放按钮。
height pixels 设置视频播放器的高度。
loop loop 如果出现该属性,则当媒介文件完成播放后再次开始播放。
preload preload

如果出现该属性,则视频在页面加载时进行加载,并预备播放。

如果使用 "autoplay",则忽略该属性。

src url 要播放的视频的 URL。
width pixels 设置视频播放器的宽度。

3.HTML5 video+dom

HTML5<vidoe> ——使用DOM进行控制

HTML5<video>元素同样拥有办法、属性和事件。

其中的方法用于播放、暂停以及加载等。其中的属性(比如时长、音量等)可以被读取或设置。其中的DOM事件能够通知。

下面列出了大多数浏览器支持的视频方法、属性和事件:

方法 属性 事件
play() currentSrc play
pause() currentTime pause
load() videoWidth progress
canPlayType videoHeight error
  duration timeupdate
  ended ended
  error abort
  paused empty
  muted emptied
  seeking waiting
  volume loadedmetadata
  height  
  width  

4. HTML5 拖放

拖放(Drag和Drop)是HTML5标准的组成部分

拖放是一种常见的特性,即抓取对象以后拖到另一个位置。

在HTML5中,托放是标准的一部分,任何元素都能够拖放。

拖放的例子:

<!DOCTYPE HTML>
<html>
<head>
<script type="text/javascript">
function allowDrop(ev)
{
ev.preventDefault();
}function drag(ev)
{
ev.dataTransfer.setData("Text",ev.target.id);
}function drop(ev)
{
ev.preventDefault();
var data=ev.dataTransfer.getData("Text");
ev.target.appendChild(document.getElementById(data));
}
</script>
</head>
<body><div id="div1" οndrοp="drop(event)"
οndragοver="allowDrop(event)"></div>
<img id="drag1" src="img_logo.gif" draggable="true"
οndragstart="drag(event)" width="336" height="69" /></body>
</html>

为了使元素可以拖动,把draggable属性设置为true:

<img draggable="true" />

拖动对象——ondragstart()和setData()

规定当元素被拖动时,会发生什么?

在上面的例子中,ondragstart属性调用一个函数,drag(event),它规定了被拖动的数据。

dataTransfer.setData()方法设置被拖数据的数据类型和值:

function drag(ev)
{ev.dataTransfer.setData("Text",ev.target.id);
}

放在何处——ondragover

ondragover事件规定在何处放置被拖动的数据。

默认地,无法将数据/元素放置到其他元素中。如果需要设置允许放置,我们必须阻止对元素的默认处理方式。

这要通过调用ondragover事件的event.preventDefault()方法:

event.preventDefault()

进行放置——ondrop

当放置被拖数据时,会发生drop事件。

在上面的例子中,ondrop属性调用了一个函数,drop(event):

function drop(ev)
{ev.preventDefault();  /*调用此函数来避免浏览器对数据的默认处理(drop事件的默认新闻是以链接形式打开)var  data=ev.dataTransfer.getData("Text");  /*调用此函数获得被拖的数据。ev.target.appendChild(document.getElementById(data));
}

5.HTML画布

canvas元素用于在网页上绘制图形。

什么是canvas?

HTML5的canvas元素使用Javascript在网页上绘制图像。

画布是一个矩形区域,可以控制其每一像素。

canvas拥有多种绘制路径、矩形、圆形、字符以及添加图像的方法。

创建Canvas元素

向HTML5页面添加canvas元素。

规定元素的id、宽度和高度:

<canvas id="myCanvas" width="200" height="100"></canvas>

6.HTML5 内联SVG

什么是SVG?

SVG指可伸缩矢量图形(Scalable Vector Graphics)

SVG用于定义网路的基于矢量的图形;

SVG使用XML格式定义图形;

SVG图像在放大或改变尺寸的情况下其图形质量不会有损失;

SVG是万维网联盟的标注;

SVG的优势:

与其他图像格式相比,使用SVG的优势在于:

SVG图像可通过文本编辑器来创建或修改;

SVG图像可被搜索、索引、校本化或压缩;

SVG是可伸缩的;

SVG图像可在任何的分辨率下被高质量地打印;

SVG可在图像质量部下降的情况下被放大;

7.HTML5 Canvas VS. SVG

Canvas和SVG都允许在浏览器中创建图形,但是它们在根本上是不同的。

SVG是一种使用XML描述2D图形的语言,这意味着SVG DOM中的每个元素都是可用的。可以为某个元素附加JavaScript事件处理器。

在SVG中,每个被绘制的图形均被视为对象。如果SVG对象的属性发生变化,那么浏览器能够自动重现图形。

Canvas通过javascript来绘制2D图形。Canvas是逐像素进行渲染的。在canvas中,一旦图像被绘制完成,它就不会继续得到浏览器的关注。如果其位置发生变化,那么整个场景也需要重新绘制,包括任何或许已被图形覆盖的对象。

依赖分辨率;不支持事件处理器;弱的文本渲染能力;能够以.png或.jpg格式保存结果图形;

SVG 不依赖分辨率;支持事件处理器;最适合带有大型渲染区域的应用程序;复杂度高慧减慢渲染速度;不适合游戏应用;

8.HTML5 Web存储

HTML5提供了两种在客户端存储数据的新方法:

localStorage——没有事件限制的数据存储;

sessionStorage——针对一个session的数据存储;

之前,这些都是由cookie完成的,但是cookie不适合大量数据的存储,因为他们由每个服务器的请求来传递,这使得cookie速度很慢而且效率不高。

在HTML5中,数据不是由每个服务器请求传递的,而是只有在请求时使用数据。它使在不影响网站性能的情况下存储大量数据成为可能。

对于不同的网站,数据存储于不同的区域,并且一个网站只能访问其自身的数据。

localStorage方法:存储的数据没有时间限制;

<script type="text/javascript">
localStorage.lastname="Smith";
document.write(localStorage.lastname);
</script>

sessionStorage方法:针对一个session进行数据存储。当用户关闭浏览器窗口后,数据会被删除。

<script type="text/javascript">
sessionStorage.lastname="Smith";
document.write(sessionStorage.lastname);
</script>

9.HTML5应用程序缓存

使用HTML5,通过创建cache manifest文件,可以轻松地创建web应用的离线版本。

什么是应用程序缓存(Application Cache)?

HTML5引入了应用程序缓存,这意味着web应用可进行缓存,并在没有网络连接时进行访问;

应用程序缓存为应用带来三个优势:

离线浏览——用户可在应用离线时使用它们;

速度——已缓存资源加载得更快;

减少服务器负载——浏览器将只从服务器下载更新过火更改过的资源。

HTML5学习笔记(一)相关推荐

  1. Html5学习笔记1 元素 标签 属性

    <!DOCTYPE html> <html lang="en"> <head><meta charset="UTF-8" ...

  2. HTML5 学习笔记

    HTML5 学习笔记 前言 该学习笔记的相关学习视频:[狂神说Java]HTML5完整教学通俗易懂 目前笔记只有简单的例子和框架,将来在实践中会进一步学习和补充内容 目录 HTML5 学习笔记 前言 ...

  3. HTML5学习笔记之音视频标签

    HTML5学习笔记之音视频标签 其他HTML5相关文章 HTML5学习笔记之HTML5基本介绍 HTML5学习笔记之基础标签 HTML5学习笔记之表格标签 HTML5学习笔记之表单标签 HTML5学习 ...

  4. html5学习笔记--leon

    html5学习笔记–leon ####什么是html5 1.H5并不是新的语言,而是html语言的第五次重大修改–版本 2.支持:所有的主流浏览器都支持h5.(chrome,firefox,safar ...

  5. html5表格所有属性,HTML5学习笔记之表格标签

    HTML5学习笔记之表格标签 其他HTML5相关文章 一.表格标签 image 1.作用: 以表格形式将数据显示出来, 当数据量非常大的时候, 表格这种展现形式被认为是最为清晰的一种展现形式 2.格式 ...

  6. HTML5学习笔记 —— JavaScript基础知识

    HTML5学习笔记 -- JavaScript基础知识 标签: html5javascriptweb前端 2017-05-11 21:51 883人阅读 评论(0) 收藏 举报 分类: JavaScr ...

  7. CSS3秘笈第三版涵盖HTML5学习笔记6~8章

    第二部分----CSS实用技术 第6章,文本格式化 指定备用字体: font-family:Arial,Helvetica,sans-serif; 当访问者没有安装第一种字体时,浏览器会在列表中继续往 ...

  8. HTML5学习笔记(一):HTML简介

    Web前端涵盖的内容较多且杂,主要由3个部分组成:HTML标记语言.CSS样式语言和JavaScript脚本语言组成,而下面我们将先学习最新的标记语言HTML5. <!DOCTYPE>标记 ...

  9. HTML5学习笔记--第六章 文本元素

    HTML5学习地址链接: 我要自学网. 6-1 标题元素 <!DOCTYPE html> <html><head><meta charset="UT ...

  10. HTML5学习笔记(2020年11月)

    前言 在B站听尚硅谷的HTML课程,随听随记,感觉老师讲的很不错,用很快的速度过了一遍,比较基础,大家凑合着看.同时,对于markdown文档也是第一次学习使用,还有很不规范的地方. 目录 前言 一. ...

最新文章

  1. 随机生成文件名字或随机生成一个数
  2. Python8:logging Module
  3. 发布nuget包的正确姿势---cicd自动打包发布
  4. 用Python分析了20万场吃鸡数据,有不少有趣的发现
  5. php访问mysql函数吗,PHP访问MySQL数据库函数简介
  6. BZOJ 1283 费用流
  7. 苹果暖场之后 华为P30系列正式发布!你的“望远镜”手机终于来了
  8. :hover 鼠标悬浮时(基本导航)
  9. slice_input_producer在2.0版本里怎么用_EPrime2.0安装避坑指南
  10. 关于使用 ajax上传文件 Easyui的框架 input标签中 filebox属性取赋值操作问题
  11. 【综述】植物防御假说——Out of the quagmire of plant defense hypotheses
  12. [Debug] 法语输入
  13. 李阳疯狂英语-228句口语要素
  14. OSChina 周日乱弹 ——对,今天全是段子
  15. 最佳教育:只要把一件事情做好,人生就能够成功
  16. 怎样选用和替换三极管
  17. 通过示例快速理解二次回归
  18. 蓝桥杯单片机——用NE555定时器来测量频率
  19. html5钢琴效果,HTML5 钢琴演奏应用(Music Player)
  20. java replace 特殊字符_java replaceall 用法:处理特殊字符

热门文章

  1. 12月php粉红色婚恋交友源码V6.0分享下载研究学习
  2. 1x2 MIMO和2x2 MIMO 代表的意思?
  3. 编程的各种骚操作(一)
  4. mysql 存储过程 动态表名
  5. java打包成docker images
  6. Android VideoView播放网络视频简介
  7. 跨屏网页设计为什么越来越流行,浅谈
  8. 100元的人民币换成10元,5元,2元和1元面值
  9. BZOJ1066【SCOI2007】蜥蜴 网络流
  10. C++项目实战 —— 演讲比赛流程管理系统