作者简介 刘爱江,具有多年.NET项目开发经验,深入掌握.NET框架技术,熟练开发ASP.NET与WinForm项目,精通C#、ASP 、C++、VB语言,熟练使用MTS、COM+、Web Service分布式架构。 靳智良,知名互联网社区架构师,一个拥有5年软件工程经验和深厚理论基础的软件工程专家,善于解剖和分析问题,使用生动形象的比喻,能将复杂的、难于理解的问题与知识简单化讲解。致力于研究、优化Web 2.0系统架构技术,对LAMP体系架构有着丰富的经验,挖掘LAMP架构的性能潜力,探索新型高效能的Web 2.0站点系统支撑平台以及系统集群。 目录 章 初步认识HTML5和CSS3 1.1 认识网页和网站\t2 1.1.1 网页\t2 1.1.2 网站\t3 1.1.3 网站制作流程\t3 1.1.4 网页设计流程\t4 1.1.5 发布站点\t4 1.2 Web标准布局介绍\t5 1.2.1 当前的Web开发标准\t5 1.2.2 为什么使用Web标准\t5 1.2.3 CSS布局标准\t6 1.3 HTML与HTML5\t7 1.3.1 HTML的发展历史\t7 1.3.2 HTML 4.01和XHTML\t8 1.3.3 HTML和XHTML文档类型定义\t9 1.3.4 从XHTML到HTML5\t11 1.3.5 HTML5的优势\t11 1.4 HTML5语法的变化\t13 1.4.1 DOCTYPE声明\t13 1.4.2 命名空间声明\t13 1.4.3 编码类型\t14 1.4.4 文档媒体类型\t15 1.4.5 HTML5兼容HTML\t15 1.5 实践案例:浏览器HTML5性能测试\t18 1.6 CSS3简介\t19 1.6.1 什么是CSS3\t20 1.6.2 CSS3的优缺点\t20 1.6.3 CSS3的新增特性\t21 1.7 实践案例:浏览器CSS3性能测试\t24 1.8 练习题\t25 第2章 HTML5网页结构 2.1 认识html根元素\t28 2.2 文档头部元素\t28 2.3 结构元素\t31 2.3.1 header元素\t31 2.3.2 article元素\t33 2.3.3 section元素\t34 2.3.4 aside元素\t35 2.3.5 footer元素\t36 2.4 节点元素\t36 2.4.1 nav元素\t36 2.4.2 hgroup元素\t37 2.4.3 address元素\t38 2.5 语义元素\t39 2.5.1 mark元素\t39 2.5.2 cite元素\t40 2.5.3 time元素\t40 2.5.4 wbr元素\t41 2.5.5 ruby、rt和rp元素\t41 2.6 交互元素\t41 2.6.1 meter元素\t41 2.6.2 progress元素\t43 2.6.3 details元素\t44 2.6.4 summary元素\t45 2.7 全局属性\t45 2.7.1 hidden属性\t46 2.7.2 contenteditable属性\t46 2.7.3 spellcheck属性\t47 2.8 实践案例:设计旅游网站首页\t48 2.9 练习题\t53 第3章 HTML5表单应用 3.1 重新认识HTML表单\t56 3.1.1 表单简介\t56 3.1.2 表单标记\t56 3.1.3 基本表单元素\t57 3.2 新增输入类型\t58 3.2.1 url类型\t58 3.2.2 number类型\t59 3.2.3 email类型\t60 3.2.4 range类型\t61 3.2.5 datepickers类型\t62 3.2.6 color类型\t64 3.2.7 tel类型\t64 3.2.8 search类型\t65 3.3 新增属性\t65 3.3.1 表单类属性\t65 3.3.2 输入类属性\t67 3.4 表单元素\t73 3.4.1 datalist元素\t73 3.4.2 keygen元素\t74 3.4.3 output元素\t75 3.4.4 optgroup元素\t76 3.5 表单验证\t77 3.5.1 自动验证\t77 3.5.2 显式验证\t79 3.5.3 自定义验证\t80 3.5.4 取消验证\t81 3.6 实践案例:设计用户录入表单\t81 3.7 练习题\t87 第4章 HTML5多媒体应用 4.1 多媒体简介\t90 4.1.1 多媒体编解码器\t90 4.1.2 视频格式\t90 4.1.3 音频格式\t91 4.2 播放视频\t91 4.2.1 video元素的基础用法\t92 4.2.2 video元素方法\t94 4.2.3 video元素事件\t95 4.3 播放音频\t97 4.3.1 audio元素的基础用法\t97 4.3.2 audio元素事件\t98 4.4 实践案例:实现HTML5网页视频播放器\t99 4.5 练习题\t105 第5章 HTML5绘图应用 5.1 认识canvas元素\t108 5.1.1 canvas简介\t108 5.1.2 创建canvas元素\t108 5.1.3 实践案例:判断浏览器是否支持canvas元素\t109 5.2 绘制简单图形\t110 5.2.1 绘制矩形\t110 5.2.2 绘制直线\t113 5.2.3 绘制圆形\t116 5.2.4 实践案例:绘制三角形\t119 5.2.5 保存和恢复图形\t121 5.2.6 输出图形\t123 5.3 绘制文本\t124 5.3.1 绘制普通文本\t124 5.3.2 绘制阴影文本\t126 5.4 绘制曲线\t128 5.4.1 二次方贝塞尔曲线\t128 5.4.2 三次方贝塞尔曲线\t128 5.5 变换图形\t129 5.5.1 坐标变换\t129 5.5.2 矩阵变换\t133 5.5.3 组合图形\t135 5.5.4 线性渐变\t138 5.5.5 径向渐变\t139 5.6 使用图像\t141 5.6.1 绘制图像\t141 5.6.2 平铺图像\t143 5.6.3 裁剪和复制图像\t145 5.7 实践案例:制作图像黑白和反转效果\t146 5.8 练习题\t148 第6章 HTML5数据存储 6.1 Web存储简介\t152 6.1.1 Web存储和Cookie存储\t152 6.1.2 sessionStorage对象\t152 6.1.3 localStorage对象\t154 6.2 操作本地数据\t155 6.2.1 保存数据\t156 6.2.2 读取数据\t157 6.2.3 清空数据\t159 6.2.4 遍历数据\t159 6.3 实践案例:实现工程管理模块\t162 6.4 操作本地数据库数据\t167 6.4.1 创建数据库\t167 6.4.2 执行SQL语句\t168 6.5 实践案例:查看学生列表\t170 6.6 练习题\t171 第7章 文件和离线应用 7.1 操作文件\t174 7.1.1 获取文件信息\t174 7.1.2 限制文件类型\t175 7.2 实践案例:文件上传\t177 7.3 FileReader接口\t178 7.3.1 FileReader接口简介\t179 7.3.2 读取文本文件内容\t179 7.3.3 监听读取事件\t181 7.3.4 处理读取异常\t183 7.4 实践案例:预览图片\t184 7.5 离线应用\t186 7.5.1 离线Web应用程序概述\t186 7.5.2 manifest文件\t186 7.5.3 applicationCache对象\t190 7.6 练习题\t195 第8章 HTML5不错开发 8.1 拖放功能\t198 8.1.1 拖放API简介\t198 8.1.2 dataTransfer对象\t199 8.2 实践案例:拖放式选择员工\t202 8.3 跨文档消息通信\t205 8.4 本地多线程\t207 8.4.1 Worker对象简介\t207 8.4.2 线程和JavaScript交互\t210 8.4.3 线程嵌套\t210 8.4.4 实践案例:线程和JSON交互\t212 8.5 获取地理位置\t214 8.5.1 地图API简介\t215 8.5.2 Position对象\t216 8.6 练习题\t218 第9章 CSS3选择器 9.1 CSS选择器的分类\t222 9.2 属性选择器\t226 9.2.1 E[att^=“val”]\t226 9.2.2 E[att$=“val”]\t227 9.2.3 E[att*=“val”]\t227 9.2.4 实践案例:设计颜色选择器\t227 9.3 伪类选择器\t229 9.3.1 E:last-child选择器\t229 9.3.2 E:only-child选择器\t230 9.3.3 E:nth-child(n)选择器\t231 9.3.4 E:nth-last-child(n)选择器\t233 9.3.5 E:root选择器\t233 9.3.6 E:not(s)选择器\t234 9.3.7 E:empty选择器\t235 9.3.8 E:target选择器\t236 9.3.9 实践案例:单击链接显示具体内容\t237 9.4 伪对象选择器\t238 9.4.1 E::selection选择器\t238 9.4.2 E::placeholder选择器\t239 9.4.3 已修改的选择器\t239 9.4.4 实践案例:选择器和content属性结合插入内容\t240 9.5 兄弟选择器\t243 9.6 练习题\t244 0章 CSS3新增的基本属性 10.1 新增基本属性\t248 10.1.1 文本属性\t248 10.1.2 字体属性\t249 10.1.3 颜色属性\t250 10.1.4 边框属性\t251 10.1.5 背景属性\t251 10.1.6 实践案例:用JS判断浏览器是否支持某属性\t251 10.2 设置文本样式\t252 10.2.1 文本换行设置\t252 10.2.2 文本对齐方式\t256 10.2.3 文本的单个阴影\t256 10.2.4 文本的多个阴影\t259 10.2.5 实践案例:制作火焰字\t260 10.3 设置边框样式\t261 10.3.1 边框圆角属性\t261 10.3.2 图形填充边框\t264 10.3.3 边框阴影效果\t267 10.4 设置背景样式\t269 10.4.1 background-size属性\t270 10.4.2 background-origin属性\t271 10.4.3 background-clip属性\t272 10.5 实践案例:制作太极图\t273 10.6 练习题\t274 1章 变形、过渡和动画 11.1 CSS3的变形属性\t278 11.1.1 基本变形之平移\t278 11.1.2 基本变形之缩放\t280 11.1.3 基本变形之旋转\t280 11.1.4 基本变形之倾斜\t281 11.1.5 实践案例:制作个性图片墙\t283 11.1.6 指定变形中心点\t284 11.2 CSS3的过渡属性\t286 11.2.1 过渡属性概述\t286 11.2.2 单个属性实现过渡\t287 11.2.3 多个属性同时过渡\t287 11.2.4 实践案例:鼠标悬浮特效的过渡功能\t289 11.3 CSS3的动画属性\t291 11.3.1 了解animation属性\t291 11.3.2 @keyframes动画帧\t293 11.3.3 同时改变多个属性的动画\t295 11.3.4 实践案例:绘制旋转的太极图案\t295 11.4 实践案例:动态复古时钟\t296 11.5 练习题\t299 2章 CSS3新增的不错属性 12.1 多列布局属性\t302 12.1.1 多列布局属性列表\t302 12.1.2 设置显示列的宽度\t302 12.1.3 设置显示的固定列\t303 12.1.4 设置显示列的样式\t304 12.1.5 设置各列间的间距\t305 12.2 弹性盒模型属性\t305 12.2.1 flex布局属性\t306 12.2.2 flex-direction属性\t307 12.2.3 flex-wrap属性\t308 12.2.4 justify-content属性\t309 12.2.5 其他属性简述\t311 12.2.6 实践案例:用flex盒模型实现三栏布局\t314 12.3 渐变属性\t315 12.3.1 线性渐变\t316 12.3.2 径向渐变\t319 12.3.3 重复渐变\t323 12.3.4 实践案例:用线性渐变实现图片闪光划过的效果\t324 12.3.5 实践案例:用径向渐变制作一张优惠券\t325 12.3.6 实践案例:用重复渐变制作记事本纸张效果\t326 12.4 练习题\t327 3章 JavaScript脚本编程快速入门 13.1 JavaScript语言简介\t330 13.1.1 JavaScript简介\t330 13.1.2 JavaScript与Java的关系\t330 13.1.3 JavaScript语法规则\t331 13.2 编写JavaScript程序\t332 13.2.1 集成JavaScript程序\t332 13.2.2 使用外部JavaScript文件\t333 13.2.3 注意事项\t334 13.3 JavaScript脚本语法\t335 13.3.1 数据类型\t335 13.3.2 变量与常量\t336 13.3.3 运算符\t337 13.4 脚本控制语句\t340 13.4.1 if条件语句\t340 13.4.2 switch条件语句\t342 13.4.3 while循环语句\t343 13.4.4 do while循环语句\t344 13.4.5 for循环语句\t344 13.4.6 for in循环语句\t345 13.4.7 对话框语句\t345 13.5 函数\t348 13.5.1 系统函数\t348 13.5.2 自定义函数\t350 13.6 常用对象\t351 13.6.1 Array对象\t351 13.6.2 Document对象\t352 13.6.3 Window对象\t353 13.7 实践案例:长方体几何计算\t354 13.8 练习题\t355 4章 JavaScript事件和DOM 14.1 事件概述\t358 14.1.1 事件简介\t358 14.1.2 指定事件\t358 14.2 原始事件模型\t359 14.2.1 事件类型\t360 14.2.2 事件处理\t361 14.2.3 使用事件返回值\t362 14.3 标准事件模型\t364 14.3.1 事件传播\t364 14.3.2 注册事件处理程序\t365 14.4 常用事件\t366 14.4.1 键盘事件\t366 14.4.2 鼠标事件\t367 14.4.3 页面事件\t368 14.5 DOM简介\t370 14.5.1 HTML DOM中的节点树\t370 14.5.2 DOM核心接口\t370 14.6 实践案例:使用DOM操作节点\t373 14.6.1 访问节点\t373 14.6.2 遍历节点\t376 14.6.3 操作属性节点\t379 14.6.4 创建和插入节点\t382 14.6.5 复制节点\t385 14.6.6 替换节点\t385 14.6.7 删除节点\t387 14.7 练习题\t387 5章 综合案例 15.1 打地鼠游戏\t390 15.1.1 打地鼠游戏简介\t390 15.1.2 界面设计\t391 15.1.3 实现脚本\t392 15.2 经典贪吃蛇游戏\t395 15.2.1 贪吃蛇游戏简介\t395 15.2.2 页面设计\t395 15.2.3 脚本实现\t397 15.3 绘制呆萌的小猫笑脸\t401 15.3.1 效果展示\t402 15.3.2 静态页面\t402 15.3.3 样式代码\t403 15.4 图片轮播效果展示\t407 15.4.1 效果展示\t407 15.4.2 静态页面\t408 15.4.3 样式代码\t408 练习题答案 内容推荐 HTML、CSS与JavaScript技术是所有网页技术的基础和核心,无论是在互联网上进行发布,还是编写可交互的应用程序,都离不开它们的综合应用。本书以项目开发为主线,采用边讲边练的方式。本书致力于通过深入浅出的讲解,带领读者进入丰富多彩的网页编程世界。 |