内容简介
陶国荣编著的《HTML5实战》是一本系统而全面的HTML5教程,根据HTML5标准的最新草案,系统地对HTML5的所有重要知识点进行了全面的讲解。在写作方式上,本书以一种开创性的方式使理论与实践达到极好的平衡,不仅对理论知识进行了清晰而透彻的阐述,而且根据读者理解这些知识的需要,精心设计了106个完整(每个案例分为功能描述、实现代码、效果展示和代码分析4个部分)的实战案例,旨在帮助读者通过实践的方式迅速掌握这些知识。
《HTML5实战》共11章,内容涵盖了HTML5的各个方面。第1章通过实现一个简单的HTML5页面讲解了如何搭建支持HTML5的浏览器环境、HTML5页面所具备的特征,以及如何检测浏览器对HTML5的各种特性的支持情况;第2章介绍了HTML5中常用的交互元素,包括内容交互元素、菜单交互元素和状态交互元素等几大类;第3章介绍了HTML根元素、文档元素,以及与脚本、节点、分组内容、文本层次语义、嵌入内容、公共属性相关的重要元素;第4章和第5章讲解了HTML5中的表单和文件的功能特性以及常见的各种操作;第6章和第7章讲解了HTML5中的音频、视频和绘图相关的知识,重点讲解了各种常见的操作和使用方法;第8章和第9章讲解了HTML5中的数据存储和离线应用;第10章对WebSockets、Geolocation、WebWorkers、元素的拖放等重要内容进行了全面的讲解。
本书适合所有想系统学习HTML5的读者阅读。如果按照本书的顺序逐章阅读,同时亲自动手实现本书中的案例,相信一定能达到事半功倍的效果。
目录
- 前言
- 第1章拥抱html5
- 1.1一个简单的html5页面
- 1.1.1搭建支持的浏览器环境
- 1.1.2检测浏览器是否支持html5标记
- 1.1.3使用html5结构编写一个简单的web页面
- 1.2html5页面的特征
- 1.2.1应用全新的html5特征结构化元素
- 1.2.2使用css文件美化html5新元素
- 1.3本章小结
- 第2章html5中常用的交互元素
- 2.1内容交互元素
- 2.1.1details元素
- 2.1.2summary元素
- 2.2菜单交互元素
- 2.2.1menu元素
- 2.2.2command元素
- 2.3状态交互元素
- 2.3.1progress元素
- 2.3.2meter元素
- 2.4本章小结
- 第3章html5中的重要元素
- 3.1html根元素
- 3.2文档元素
- 3.3脚本
- 3.4节点
- 3.4.1section元素
- 3.4.2nav元素
- 3.4.3hgroup元素
- 3.4.4address元素
- 3.5分组内容
- 3.5.1ul元素
- 3.5.2ol元素
- 3.5.3dl元素
- 3.6文本层次语义
- 3.6.1time元素
- 3.6.2mark元素
- 3.6.3cite元素
- 3.7嵌入内容
- 3.7.1img元素
- 3.7.2元素
- 3.7.3object元素
- 3.8公共属性
- 3.8.1draggable属性
- 3.8.2hidden属性
- 3.8.3spellcheck属性
- 3.8.4contenteditable属性
- 3.9本章小结
- 第4章html5中的表单
- 4.1input元素的新增类型
- 4.1.1email邮件类型
- 4.1.2url地址类型
- 4.1.3number数字类型
- 4.1.4range数字滑动条
- 4.1.5date日期类型
- 4.1.6search搜索类型
- 4.2input元素新增的公用属性
- 4.2.1autofocus属性
- 4.2.2pattern属性
- 4.2.3placeholder属性
- 4.2.4required属性
- 4.3新增表单元素
- 4.3.1datalist元素
- 4.3.2output元素
- 4.3.3keygen元素
- 4.4表单新增的验证方法和属性
- 4.4.1checkvalidity显式验证法
- 4.4.2使用setcustomvalidity方法修改提示信息
- 4.4.3表单的novalidate属性
- 4.5本章小结
- 第5章html5中的文件
- 5.1选择文件
- 5.1.1选择单个文件
- 5.1.2选择多个文件
- 5.1.3使用blob接口获取文件的类型与大小
- 5.1.4通过类型过滤选择的文件
- 5.1.5通过accept属性过滤选择文件的类型
- 5.2使用filereader接口读取文件
- 5.2.1filereader接口的方法
- 5.2.2使用readasdataurl方法预览图片
- 5.2.3使用readastext方法读取文本文件
- 5.2.4侦听filereader接口中的事件
- 5.3使用datatransfer对象拖放上传图片文件
- 5.4文件读取时的错误与异常
- 5.4.1发生错误与异常的条件
- 5.4.2错误代码说明
- 5.5本章小结
- 第6章html5中的视频和音频
- 6.1多媒体元素基本属性
- 6.1.1元素格式
- 6.1.2width与height属性
- 6.1.3controls属性
- 6.1.4poster属性
- 6.1.5networkstate属性
- 6.1.6error属性
- 6.1.7其他属性
- 6.2多媒体元素常用方法
- 6.2.1媒体播放时的方法
- 6.2.2canplaytype方法
- 6.3多媒体元素重要事件
- 6.3.1媒体播放事件
- 6.3.2timeupdate事件
- 6.3.3其他事件
- 6.4本章小结
- 第7章html5绘图基础
- 7.1画布的基础知识
- 7.1.1canvas元素的基本用法
- 7.1.2绘制带边框矩形
- 7.1.3绘制渐变图形
- 7.2在画布中使用路径
- 7.2.1moveto与lineto的用法
- 7.2.2使用arc方法绘制圆形
- 7.2.3绘制渐变圆形
- 7.3对画布中图形的操作
- 7.3.1变换图形原点坐标
- 7.3.2组合多个图形
- 7.3.3添加图形阴影
- 7.4处理画布中的图像
- 7.4.1绘制图像
- 7.4.2平铺图像
- 7.4.3切割图像
- 7.4.4处理像素
- 7.5画布的其他应用
- 7.5.1绘制文字
- 7.5.2保存、恢复及输出图形
- 7.5.3制作简单的动画
- 7.6本章小结
- 第8章html5中的数据存储
- 8.1webstorage存储简介
- 8.1.1sessionstorage对象
- 8.1.2localstorage对象
- 8.2localstorage详解
- 8.2.1清空localstorage数据
- 8.2.2遍历localstorage数据
- 8.2.3使用json对象存取数据
- 8.2.4管理localstorage数据
- 8.3websql数据库基础
- 8.3.1打开与创建数据库
- 8.3.2执行事务
- 8.3.3插入数据
- 8.3.4数据管理
- 8.4本章小结
- 第9章html5中的离线应用
- 9.1离线应用程序
- 9.1.1manifest文件简介
- 9.1.2配置iis服务器
- 9.1.3离线应用的开发过程
- 9.2本地缓存的更新及状态检测
- 9.2.1updateready事件
- 9.2.2update方法
- 9.2.3swapcache方法
- 9.2.4更新本地缓存时触发的其他事件
- 9.3检测在线状态
- 9.3.1online属性
- 9.3.2online与offline事件
- 9.3.3离线数据交互应用开发过程
- 9.4本章小结
- 第10章html5中的其他应用型api
- 10.1websocketsapi
- 10.1.1postmessage方法
- 10.1.2使用websocket传送数据
- 10.1.3使用websocket传送json对象
- 10.2geolocationapi
- 10.2.1使用getcurrentposition方法获取当前地理位置
- 10.2.2使用google地图锁定位置
- 10.3webworkersapi
- 10.3.1worker对象处理线程
- 10.3.2使用线程传递json对象
- 10.3.3使用线程嵌套交互数据
- 10.4本章小结
- 第11章html5中元素的拖放
- 11.1拖放基础
- 11.1.1使用java代码实现拖放
- 11.1.2在html5中实现拖放时触发的事件
- 11.2datatransfer对象应用详解
- 11.2.1使用setdata与getdata方法存入与读取拖放数据
- 11.2.2使用setdragimage方法设置拖放图标
- 11.2.3使用effectallowed与dropeffect属性设置拖放效果
- 11.3拖放应用实战
- 11.3.1购物车的实现
- 11.3.2相册的管理
- 11.4本章小结
- 实例1-1检测浏览器是否支持html5
- 实例1-2hello,world页面的实现
- 实例1-3页面分栏实现
- 实例1-4样式化页面实现
- 实例2-1交互元素[details]的使用
- 实例2-2用脚本控制交互元素[details]的使用
- 实例2-3交互元素[summary]与[details]的结合使用
- 实例2-4交互元素[menu]的使用
- 实例2-5交互元素[command]与[menu]的结合使用
- 实例2-6交互元素[progress]的使用
- 实例2-7交互元素[meter]的使用
- 实例3-1元素[html]的使用
- 实例3-2元素[head]的使用
- 实例3-3元素[]与[no]的使用
- 实例3-4元素[ol]的使用
- 实例3-5元素[mark]的使用
- 实例3-6元素[cite]的使用
- 实例3-7公共属性draggable的使用
- 实例3-8公共属性hidden的使用
- 实例3-9公共属性spellcheck的使用
- 实例3-10公共属性contenteditable的使用
- 实例4-1email类型的[input]元素的使用
- 实例4-2url类型的[input]元素的使用
- 实例4-3number类型的[input]元素的使用
- 实例4-4range类型的[input]元素实现颜色选择器
- 实例4-5分类展示不同形式的选择日期
- 实例4-6search类型的[input]元素的使用
- 实例4-7[input]元素中autofocus属性的使用
- 实例4-8[input]元素中pattern属性的使用
- 实例4-9[input]元素中placeholder属性的使用
- 实例4-10[input]元素中required属性的使用
- 实例4-11[datalist]元素的使用
- 实例4-12[output]元素的使用
- 实例4-13[keygen]元素的使用
- 实例4-14调用表单的checkvalidity方法
- 实例4-15调用表单的setcustomvalidity方法
- 实例4-16表单中novalidate属性的使用
- 实例5-1选择单个文件上传
- 实例5-2选择多个文件上传
- 实例5-3获取上传文件的类型与大小
- 实例5-4通过类型过滤上传文件
- 实例5-5通过accept属性过滤上传文件的类型
- 实例5-6使用readasdataurl方法预览图片
- 实例5-7使用readastext方法读取文本文件
- 实例5-8展示文件读取时触发事件的先后顺序
- 实例5-9使用datatransfer对象拖放上传图片文件
- 实例6-1使用多媒体元素播放文件
- 实例6-2设置[video]元素的大小与样式
- 实例6-3设置[video]元素的控制条工具属性
- 实例6-4设置[video]元素的poster属性
- 实例6-5获取[video]元素networkstate属性的返回值
- 实例6-6获取[video]元素error属性的返回值
- 实例6-7自定义[video]元素控制条工具栏
- 实例6-8使用canplaytype方法检测浏览器支持媒体类型
- 实例6-9获取多媒体元素在播放事件中的不同状态
- 实例6-10通过timeupdate事件动态显示媒体文件播放时间
- 实例7-1使用[canvas]元素绘制正方形
- 实例7-2使用[canvas]元素绘制带边框的矩形
- 实例7-3使用[canvas]元素绘制有渐变色的图形
- 实例7-4使用moveto与lineto方法绘制多条直线
- 实例7-5使用arc方法绘制多个不同样式的圆形
- 实例7-6使用[canvas]元素绘制径向渐变的圆形
- 实例7-7使用[canvas]元素移动、缩放、旋转图形
- 实例7-8使用[canvas]元素设置多图形组合显示的方式
- 实例7-9使用[canvas]元素添加绘制图形阴影
- 实例7-10使用drawimage方法在画布中绘制图像
- 实例7-11使用createpattern方法在画布中平铺图像
- 实例7-12使用clip方法在画布中切割图像
- 实例7-13使用getimagedata与putimagedata方法处理图像像素
- 实例7-14使用filltext与stroketext方法绘制文字
- 实例7-15在画布中保存、恢复及输出图形
- 实例7-16在画布中制作简单的动画
- 实例8-1使用sessionstorage对象保存与读取临时数据
- 实例8-2使用localstorage对象保存与读取登录用户名与密码
- 实例8-3清空localstorage对象保存的全部数据
- 实例8-4遍历localstorage对象保存的全部数据
- 实例8-5使用json对象存取数据
- 实例8-6管理localstorage数据
- 实例8-7使用opendatabase打开与创建数据库
- 实例8-8使用transaction方法执行事务
- 实例8-9使用executesql方法插入记录
- 实例8-10使用executesql方法管理数据记录
- 实例9-1开发一个简单的离线应用
- 实例9-2监测updateready事件触发
- 实例9-3使用update方法更新本地缓存
- 实例9-4使用swapcache方法更新本地缓存
- 实例9-5检测离线应用在加载过程中触发的事件
- 实例9-6通过online属性检测网络的当前状态
- 实例9-7通过online与offline事件检测网络的当前状态
- 实例9-8开发一个离线留言数据交互应用
- 实例10-1使用postmessage方法实现跨文档传输数据
- 实例10-2使用websocket对象传送数据
- 实例10-3使用websocket传送json对象
- 实例10-4使用getcurrentposition方法获取出错数据信息
- 实例10-5使用getcurrentposition方法获取地理位置信息
- 实例10-6使用google地图锁定位置
- 实例10-7使用worker对象处理线程
- 实例10-8使用线程传递json对象
- 实例10-9使用线程嵌套交互数据
- 实例11-1使用java代码实现元素拖放
- 实例11-2元素在拖放过程中触发的事件
- 实例11-3使用setdata与getdata方法存入与读取拖放数据
- 实例11-4使用setdragimage方法设置拖放图标
- 实例11-5使用effectallowed与dropeffect属性设置拖放效果
- 实例11-6使用拖放api将商品拖入购物车
- 实例11-7使用拖放api将图片拖入回收站
读完发现html5比我想的还要强大,不过在大型网页游戏方面的开发有点纠结,成熟的游戏引擎开发出来的话,应该就比较好了吧。