内容简介
《HTML5+CSS3+JavaScript 网页设计入门与应用》从网站基础开始,结合大量案例,全面、翔实地介绍了使用HTML5+CSS3+JavaScript开发Web前端页面的具体方法与步骤,引导读者从零开始,一步步掌握Web开发的全过程。本书通过一个个鲜活、典型的实例来讲解每个语法,力求达到理论知识与实践操作完美结合的效果。
《HTML5+CSS3+JavaScript 网页设计入门与应用》共分为15章,主要包括HTML入门、HTML5新增布局元素、HTML5表单验证、文件上传、绘图和多媒体、数据存储、CSS3新增选择器、CSS3布局属性和动画效果、JavaScript基础语法、事件处理和DOM操作等内容。最后一章通过打地鼠、贪吃蛇、小猫笑脸和图片轮播4个综合案例,介绍了Web前端设计的完整过程。
《HTML5+CSS3+JavaScript 网页设计入门与应用》可作为普通高校计算机及相关专业教材、高职高专教材,也可供从事网页设计与制作、网站开发、网页编程等行业人员参考阅读。
前言
随着网络带宽的飞速提升和网络技术的不断发展,获取数据的方式也比以前快捷得多,而网页是最重要的表现形式之一。这几年虽然新技术层出不穷,并且日新月异,但有一点是肯定的,不管是采用什么技术设计的网站,用户在客户端通过打开浏览器看到的网页都是静态网页,都是由HTML、JavaScript 和CSS 技术构成的,所以如果想从事网页设计或从事网站管理相关工作,就必须学习HTML、JavaScript 和CSS 技术,哪怕只是简单地了解,因为HTML、JavaScript 和CSS 技术是网页制作技术的基础和核心。
本书紧密围绕网页设计师在制作网页过程中的实际需要和应该掌握的技术,全面介绍了使用HTML、CSS、JavaScript 进行网页设计和制作各方面的内容和技巧。本书在讲解时采用了最新的HTML5 规范和CSS3 标准,并以Chrome 浏览器为主要测试环境。
本书内容
全书共分15 章,主要内容如下。
第1 章 初步认识HTML5 和CSS3。本章首先带领读者了解网页设计的基础知识和Web标准布局知识,然后介绍从HTML 到XHTML 再到HTML5 的过渡,之后对HTML5 的语法做了详细介绍,最后介绍了CSS3 的优缺点、新增特性以及性能测试方法。
第2 章 HTML5 网页结构。本章主要介绍HTML5 中新增的与网页结构相关的元素,包括头部元素、结构元素、语义元素、节点元素、交互元素以及新增全局属性。
第3 章 HTML5 表单应用。本章主要介绍HTML5 中新增的表单输入类型、表单属性、表单元素和表单验证方式。
第4 章 HTML5 多媒体应用。本章主要介绍使用HTML5 新增的video 元素和audio 元素播放视频和音频。
第5 章 HTML5 绘图应用。本章主要介绍使用canvas 元素绘制各种图形,如绘制三角形、文本、渐变和阴影等,以及操作图形的各种方法,如平移、缩放和坐标转换等。
第6 章 HTML5 数据存储。本章主要介绍HTML5 中新增的两种数据存储方式,即Web存储和本地数据库存储。
第7 章 文件和离线应用。本章将从文件和离线两个方面展开对HTML5 新特性的讲解,主要包括允许选择多个文件、读取文件的信息和内容、实现文件上传以及判断是否在线等。
第8 章 HTML5 高级开发。本章从4 个方面讲解HTML5 的高级特性,分别是拖放操作、跨文档通信、多线程和地理位置。
第9 章 CSS3 选择器。本章主要介绍CSS3 新增选择器的使用,如属性选择器、伪类选择器和伪对象选择器等。
第10 章 CSS3 新增的基本属性。本章主要介绍CSS3 中新增加的背景、边框、字体、颜色等相关属性,例如与背景有关的background-clip、background-size、background-origin 属性,与边框有关的border-radius、box-shadow、border-image 属性等。
第11 章 变形、过渡和动画。本章主要介绍CSS3 的动画功能,包括变形效果、过渡效果和动画帧等。
第12 章 CSS3 新增的高级属性。本章主要介绍CSS3 中新增加的其他属性,例如多列布局属性、盒模型布局属性、渐变属性等。
第13 章 JavaScript 脚本编程快速入门。本章主要介绍JavaScript 的基础知识,包括JavaScript 语言的语法规则、运算符、流程控制语句、对话框语句、函数以及常用对象的用法等内容。
第14 章 JavaScript 事件和DOM。本章主要介绍原始事件模型和标准事件模型,以及DOM 操作节点的方法,如遍历、插入、复制、替换和删除等。
第15 章 综合案例。本章通过打地鼠、贪吃蛇、小猫笑脸和图片轮播4 个综合案例,介绍了Web 前端设计的完整过程。
本书特色
本书采用大量的实例进行讲解,力求通过实际操作使读者更容易地制作前端页面、设计页面样式和操作页面脚本。本书难度适中,内容由浅入深,实用性强,覆盖面广,条理清晰。
知识点全
本书紧紧围绕前端的HTML5、CSS3 和JavaScript 展开讲解,具有很强的逻辑性和系统性。
实例丰富
各章实例短小却又能体现出知识点,让读者很轻松地学习,并能灵活地应用到实际的软件项目中。
应用广泛
对于精选案例,给出了详细步骤,结构清晰简明,分析深入浅出,而且有些程序能够直接在项目中使用,避免读者进行二次开发。
基于理论,注重实践
本书在讲述理论知识的过程中,在合适位置安排了综合应用实例或者小型应用程序,将理论应用到实践中,可以提高读者的实际应用能力,巩固开发基础知识。
贴心的提示
为了便于读者阅读,全书还穿插着一些技巧、提示等小贴士,体例约定如下。
提示:通常是一些贴心的提醒,或者是让读者加深印象,或者是提供建议,或者是解决问题的方法。
注意:提出学习过程中需要特别注意的一些知识点和内容,或者相关信息。
技巧:通过简短的文字,指出知识点在应用时的一些小窍门。
读者对象
本书内容简明易懂,有丰富的案例和习题,既可作为在校大学生学习使用前端网页设计的参考资料,也适合作为高等院校相关专业的教学参考书,还可以作为非计算机专业学生学习HTML+CSS+JavaScript 的参考书。
本书由刘爱江、靳智良编著,参与本书编写及设计工作的还有郑志荣、侯艳书、刘利利、侯政洪、肖进、李海燕、侯政云、祝红涛、崔再喜、贺春雷等,在此表示感谢。在本书的编写过程中,我们力求精益求精,但难免存在一些不足之处,敬请广大读者批评指正。
编 者
目录
第1章 初步认识HTML5和CSS31.1 认识网页和网站 21.1.1 网页 21.1.2 网站 31.1.3 网站制作流程 31.1.4 网页设计流程 41.1.5 发布站点 41.2 Web标准布局介绍 51.2.1 当前的Web开发标准 51.2.2 为什么使用Web标准 51.2.3 CSS布局标准 61.3 HTML与HTML5 71.3.1 HTML的发展历史 71.3.2 HTML 4.01和XHTML 81.3.3 HTML和XHTML文档类型定义 91.3.4 从XHTML到HTML5 111.3.5 HTML5的优势 111.4 HTML5语法的变化 131.4.1 DOCTYPE声明 131.4.2 命名空间声明 131.4.3 编码类型 141.4.4 文档媒体类型 151.4.5 HTML5兼容HTML 151.5 实践案例:浏览器HTML5性能测试 181.6 CSS3简介 191.6.1 什么是CSS3 201.6.2 CSS3的优缺点 201.6.3 CSS3的新增特性 211.7 实践案例:浏览器CSS3性能测试 241.8 练习题 25第2章 HTML5网页结构2.1 认识html根元素 282.2 文档头部元素 282.3 结构元素 312.3.1 header元素 312.3.2 article元素 332.3.3 section元素 342.3.4 aside元素 352.3.5 footer元素 362.4 节点元素 362.4.1 nav元素 362.4.2 hgroup元素 372.4.3 address元素 382.5 语义元素 392.5.1 mark元素 392.5.2 cite元素 402.5.3 time元素 402.5.4 wbr元素 412.5.5 ruby、rt和rp元素 412.6 交互元素 412.6.1 meter元素 412.6.2 progress元素 432.6.3 details元素 442.6.4 summary元素 452.7 全局属性 452.7.1 hidden属性 462.7.2 contenteditable属性 462.7.3 spellcheck属性 472.8 实践案例:设计旅游网站首页 482.9 练习题 53第3章 HTML5表单应用3.1 重新认识HTML表单 563.1.1 表单简介 563.1.2 表单标记 563.1.3 基本表单元素 573.2 新增输入类型 583.2.1 url类型 583.2.2 number类型 593.2.3 email类型 603.2.4 range类型 613.2.5 datepickers类型 623.2.6 color类型 643.2.7 tel类型 643.2.8 search类型 653.3 新增属性 653.3.1 表单类属性 653.3.2 输入类属性 673.4 表单元素 733.4.1 datalist元素 733.4.2 keygen元素 743.4.3 output元素 753.4.4 optgroup元素 763.5 表单验证 773.5.1 自动验证 773.5.2 显式验证 793.5.3 自定义验证 803.5.4 取消验证 813.6 实践案例:设计用户录入表单 813.7 练习题 87第4章 HTML5多媒体应用4.1 多媒体简介 904.1.1 多媒体编解码器 904.1.2 视频格式 904.1.3 音频格式 914.2 播放视频 914.2.1 video元素的基础用法 924.2.2 video元素方法 944.2.3 video元素事件 954.3 播放音频 974.3.1 audio元素的基础用法 974.3.2 audio元素事件 984.4 实践案例:实现HTML5网页视频播放器 994.5 练习题 105第5章 HTML5绘图应用5.1 认识canvas元素 1085.1.1 canvas简介 1085.1.2 创建canvas元素 1085.1.3 实践案例:判断浏览器是否支持canvas元素 1095.2 绘制简单图形 1105.2.1 绘制矩形 1105.2.2 绘制直线 1135.2.3 绘制圆形 1165.2.4 实践案例:绘制三角形 1195.2.5 保存和恢复图形 1215.2.6 输出图形 1235.3 绘制文本 1245.3.1 绘制普通文本 1245.3.2 绘制阴影文本 1265.4 绘制曲线 1285.4.1 二次方贝塞尔曲线 1285.4.2 三次方贝塞尔曲线 1285.5 变换图形 1295.5.1 坐标变换 1295.5.2 矩阵变换 1335.5.3 组合图形 1355.5.4 线性渐变 1385.5.5 径向渐变 1395.6 使用图像 1415.6.1 绘制图像 1415.6.2 平铺图像 1435.6.3 裁剪和复制图像 1455.7 实践案例:制作图像黑白和反转效果 1465.8 练习题 148第6章 HTML5数据存储6.1 Web存储简介 1526.1.1 Web存储和Cookie存储 1526.1.2 sessionStorage对象 1526.1.3 localStorage对象 1546.2 操作本地数据 1556.2.1 保存数据 1566.2.2 读取数据 1576.2.3 清空数据 1596.2.4 遍历数据 1596.3 实践案例:实现工程管理模块 1626.4 操作本地数据库数据 1676.4.1 创建数据库 1676.4.2 执行SQL语句 1686.5 实践案例:查看学生列表 1706.6 练习题 171第7章 文件和离线应用7.1 操作文件 1747.1.1 获取文件信息 1747.1.2 限制文件类型 1757.2 实践案例:文件上传 1777.3 FileReader接口 1787.3.1 FileReader接口简介 1797.3.2 读取文本文件内容 1797.3.3 监听读取事件 1817.3.4 处理读取异常 1837.4 实践案例:预览图片 1847.5 离线应用 1867.5.1 离线Web应用程序概述 1867.5.2 manifest文件 1867.5.3 applicationCache对象 1907.6 练习题 195第8章 HTML5高级开发8.1 拖放功能 1988.1.1 拖放API简介 1988.1.2 dataTransfer对象 1998.2 实践案例:拖放式选择员工 2028.3 跨文档消息通信 2058.4 本地多线程 2078.4.1 Worker对象简介 2078.4.2 线程和JavaScript交互 2108.4.3 线程嵌套 2108.4.4 实践案例:线程和JSON交互 2128.5 获取地理位置 2148.5.1 地图API简介 2158.5.2 Position对象 2168.6 练习题 218第9章 CSS3选择器9.1 CSS选择器的分类 2229.2 属性选择器 2269.2.1 E[att^=“val”] 2269.2.2 E[att$=“val”] 2279.2.3 E[att*=“val”] 2279.2.4 实践案例:设计颜色选择器 2279.3 伪类选择器 2299.3.1 E:last-child选择器 2299.3.2 E:only-child选择器 2309.3.3 E:nth-child(n)选择器 2319.3.4 E:nth-last-child(n)选择器 2339.3.5 E:root选择器 2339.3.6 E:not(s)选择器 2349.3.7 E:empty选择器 2359.3.8 E:target选择器 2369.3.9 实践案例:单击链接显示具体内容 2379.4 伪对象选择器 2389.4.1 E::selection选择器 2389.4.2 E::placeholder选择器 2399.4.3 已修改的选择器 2399.4.4 实践案例:选择器和content属性结合插入内容 2409.5 兄弟选择器 2439.6 练习题 244第10章 CSS3新增的基本属性10.1 新增基本属性 24810.1.1 文本属性 24810.1.2 字体属性 24910.1.3 颜色属性 25010.1.4 边框属性 25110.1.5 背景属性 25110.1.6 实践案例:用JS判断浏览器是否支持某属性 25110.2 设置文本样式 25210.2.1 文本换行设置 25210.2.2 文本对齐方式 25610.2.3 文本的单个阴影 25610.2.4 文本的多个阴影 25910.2.5 实践案例:制作火焰字 26010.3 设置边框样式 26110.3.1 边框圆角属性 26110.3.2 图形填充边框 26410.3.3 边框阴影效果 26710.4 设置背景样式 26910.4.1 background-size属性 27010.4.2 background-origin属性 27110.4.3 background-clip属性 27210.5 实践案例:制作太极图 27310.6 练习题 274第11章 变形、过渡和动画11.1 CSS3的变形属性 27811.1.1 基本变形之平移 27811.1.2 基本变形之缩放 28011.1.3 基本变形之旋转 28011.1.4 基本变形之倾斜 28111.1.5 实践案例:制作个性图片墙 28311.1.6 指定变形中心点 28411.2 CSS3的过渡属性 28611.2.1 过渡属性概述 28611.2.2 单个属性实现过渡 28711.2.3 多个属性同时过渡 28711.2.4 实践案例:鼠标悬浮特效的过渡功能 28911.3 CSS3的动画属性 29111.3.1 了解animation属性 29111.3.2 @keyframes动画帧 29311.3.3 同时改变多个属性的动画 29511.3.4 实践案例:绘制旋转的太极图案 29511.4 实践案例:动态复古时钟 29611.5 练习题 299第12章 CSS3新增的高级属性12.1 多列布局属性 30212.1.1 多列布局属性列表 30212.1.2 设置显示列的宽度 30212.1.3 设置显示的固定列 30312.1.4 设置显示列的样式 30412.1.5 设置各列间的间距 30512.2 弹性盒模型属性 30512.2.1 flex布局属性 30612.2.2 flex-direction属性 30712.2.3 flex-wrap属性 30812.2.4 justify-content属性 30912.2.5 其他属性简述 31112.2.6 实践案例:用flex盒模型实现三栏布局 31412.3 渐变属性 31512.3.1 线性渐变 31612.3.2 径向渐变 31912.3.3 重复渐变 32312.3.4 实践案例:用线性渐变实现图片闪光划过的效果 32412.3.5 实践案例:用径向渐变制作一张优惠券 32512.3.6 实践案例:用重复渐变制作记事本纸张效果 32612.4 练习题 327第13章 JavaScript脚本编程快速入门13.1 JavaScript语言简介 33013.1.1 JavaScript简介 33013.1.2 JavaScript与Java的关系 33013.1.3 JavaScript语法规则 33113.2 编写JavaScript程序 33213.2.1 集成JavaScript程序 33213.2.2 使用外部JavaScript文件 33313.2.3 注意事项 33413.3 JavaScript脚本语法 33513.3.1 数据类型 33513.3.2 变量与常量 33613.3.3 运算符 33713.4 脚本控制语句 34013.4.1 if条件语句 34013.4.2 switch条件语句 34213.4.3 while循环语句 34313.4.4 do while循环语句 34413.4.5 for循环语句 34413.4.6 for in循环语句 34513.4.7 对话框语句 34513.5 函数 34813.5.1 系统函数 34813.5.2 自定义函数 35013.6 常用对象 35113.6.1 Array对象 35113.6.2 Document对象 35213.6.3 Window对象 35313.7 实践案例:长方体几何计算 35413.8 练习题 355第14章 JavaScript事件和DOM14.1 事件概述 35814.1.1 事件简介 35814.1.2 指定事件 35814.2 原始事件模型 35914.2.1 事件类型 36014.2.2 事件处理 36114.2.3 使用事件返回值 36214.3 标准事件模型 36414.3.1 事件传播 36414.3.2 注册事件处理程序 36514.4 常用事件 36614.4.1 键盘事件 36614.4.2 鼠标事件 36714.4.3 页面事件 36814.5 DOM简介 37014.5.1 HTML DOM中的节点树 37014.5.2 DOM核心接口 37014.6 实践案例:使用DOM操作节点 37314.6.1 访问节点 37314.6.2 遍历节点 37614.6.3 操作属性节点 37914.6.4 创建和插入节点 38214.6.5 复制节点 38514.6.6 替换节点 38514.6.7 删除节点 38714.7 练习题 387第15章 综合案例15.1 打地鼠游戏 39015.1.1 打地鼠游戏简介 39015.1.2 界面设计 39115.1.3 实现脚本 39215.2 经典贪吃蛇游戏 39515.2.1 贪吃蛇游戏简介 39515.2.2 页面设计 39515.2.3 脚本实现 39715.3 绘制呆萌的小猫笑脸 40115.3.1 效果展示 40215.3.2 静态页面 40215.3.3 样式代码 40315.4 图片轮播效果展示 40715.4.1 效果展示 40715.4.2 静态页面 40815.4.3 样式代码 408练习题答案