热门排行
简介
《新手学HTML5移动开发:面向iOS和Android平台》为您讲解了如何使用HTML5和CSS3等最新的技术在苹果公司iOS和谷歌公司Android设备上开发Web和独立应用程序。《新手学HTML5移动开发:面向iOS和Android平台》假定您之前并无这方面的编程知识,因此会介绍这两种技术(HTML5和CSS3)的基本原理,以及JavaScript、MySQL和PHP等支撑技术。
作者简介
作者:(英国)Robin Nixon 译者:孙丰垒 李响
(Robin Nixon),20世纪80年代就开始从事计算机方面的写作(他的第一台计算机是Tandy TRS 80 Model 1,配备有4KB超大容量的RAM!)。至今他已在多个英国顶尖计算机杂志上发表了500多篇文章。《新手学HTML5移动开发——面向iOS和Android平台》是他的第8本书。Robin的妻子是一位训练有素的护士,他和他的妻子、5个孩子以及3个寄养残疾儿童生活在英国东南海岸。Robin在那里全职写作。Robin Nixon的其他著作:Learning PHP MySQL, and JavaScript (O' Reilly, 2009)ISBN 978-0596157135;Ubuntu: Up and Running (O'Reilly, 2010) ISBN 978-0596804848;Plug-in PHP (McGraw-Hill Professional,2010)ISBN 978-0071666596;Plug-in JavaScript (McGraw-Hill Professional,2010)ISBN 978-0071738613;Plug-in CSS (McGraw-Hill Professional,2010)ISBN 978-0071748766。
目录
第1部分 核心技术
第1章 HTML介绍
1.1 HTML的由来
1.2 HTML标签
1.3 HTML文档的组成
1.3.1 <!DOCTYPE>标签
1.3.2 IE带来的苦恼
1.3.3 标签
1.3.4 标签
1.3.5 Web文档标题行小结
1.3.6 标签
1.3. 7使用注释
I.3.8 文本格式化
1.3.9 嵌入图片
1.3.10 创建链接
1.3.11 表
1.3.12 列表
1.3.13 表单
1.3.14
和标签
1.3.15 帧
1.4 所有的HTML4.01标签
1.5 本章小结
第2章 HTML5新特性
2.1 画布(Canvas)
2.2 地理位置
2.3 表单
2.3.1 表单属性
2.3.2 表单输入类型
2.4 本地存储
2.5 媒体
2.5.1 Codecs
2.5.2 媒体播放
2.6 Microdata、Web Workers与离线Web应用程序
2.6.1 Microdata
2.6.2 Web Workers
2.6.3 离线Web应用程序
2.7 其他HTML5标签
2.8 本章小结
第3章 CSS介绍_
3.1 文档对象模型的工作原理
3.2 修正HTML结构
3.3 关于层叠样式表
3.3.1 导入样式表
3.3.2 本地样式设置
3.3.3 使用Id
3.3.4 使用类
3.4 CSS规则
3.4.1 多属性赋值
3.4.2 注释
3.5 样式类型
3.5.1 默认样式
3.5.2 用户样式
3.5.3 外部样式表
3.5.4 内部样式
3.5.5 内联样式
3.6 选择器
3.6.1 类型选择器
3.6.2 descendant选择器
3.6.3 child选择器
3.6.4 ID选择器
3.6.5 类选择器
3.6.6 属性选择器
3.6.7 通用选择器
3.6.8 按组选择
3.7 层叠
3.7.1 样式表创建者
3.7.2 样式表方法
3.7.3 样式表选择器
3.7.4 特殊优待的规则
3.8 Divs和Spans的区别
3.9 度量单位
3.10 字体
3.10.1 字体族
3.10.2 字体样式
3.10.3 字体大小
3.10.4 字体粗细
3.11 管理文本样式
3.11.1 装饰
3.11.2 间隔
3.11.3 对齐方式
3.11.4 变换
3.11.5 缩进
3.12 颜色
3.13 定位元素
3.14 伪类
3.15 缩写规则
3.16 盒子模型
3.16.1 Margin属性
3.16.2 Border属性
3.16.3 Padding属性
3.16.4 元素内容
3.17 本章小结
第4章 CSS3的增强特性
4.1 属性选择器
4.2 背景
4.2.1 background-clip属性
4.2.2 backgrourtd-origin属性
4.2.3 兼容性问题
4.2.4 background-size属性
4.2.5 多个背景
4.3 边框
4.3.1 border-color属性
4.3.2 border-image属性
4.3.3 border-radius属性
4.3.4 box-shadow属性
4.4 元素溢出
4.5 颜色
4.5.1 HSL颜色
4.5.2 RGB颜色
4.5.3 Opacity属性
4.6 多列布局
4.7 文本效果
4.7.1 text-shadow属性
4.7.2 text-overflow属性
4.7.3 word-wrap属性
4.8 box-sizing属性
4.9 resize属性
4.10 Outline-offset属性
4.11 Web字体
4.12 其他CSS3附件
4.13 本章小结
第5章 JavaScript简介
5.1 在网页中插入JavaScript
5.2 使用注释
5.3 使用分号
5.4 JavaScript变量
5.4.1 变量和对象命名
5.4.2 数值型变量
5.4.3 字符串变量
5.4.4 数组
5.5 JavaScript运算符
5.5.1 算术运算符
5.5.2 赋值运算符
5.5.3 比较运算符
5.5.4 逻辑运算符
5.5.5 三元运算符
5.5.6 自动变量类型
5.5.7 运算符优先级
5.6 JavaScript函数
5.6.1 全局变量
5.6.2 局部变量
5.7 条件表达式
5.7.1 if()语句
5.7.2 else语句
5.7.3 switch()语句
5.8 代码的循环部分
5.8.1 while()循环
5.8.2 do...while()循环
5.8.3 for()循环
5.9 获取并且显示JavaScript错误
5.10 本章小结
第6章 在HTML5中应用JavaScript
6.1 JavaScript访问DOM
6.2 JavaScript访问CSS样式
6.3 画布
6.3.1 JavaScript访问画布
6.3.2 画布转换为图片
6.3.3 管理矩形
6.3.4 颜色、渐变和图案
6.3.5 写入文本
6.3.6 直线和路径
6.3.7 使用路径画图
6.3.8 绘制曲线
6.3.9 绘制图片
6.3.10 添加阴影
6.3.11 直接像素处理
6.3.12 合成与透明度
6.3.13 变换
6.3.14 保存、恢复当前上下文
6.4 地理位置
6.5 本地存储
6.5.1 存储、获取本地数据
6.5.2 删除本地数据
6.6 本章小结
第7章 PHP介绍
7.1 在Web服务器上检查PHP
7.2 PHP基础知识
7.2.1 echo关键字
7.2.2 单引号和双引号的区别
7.2.3 使用注释
7.2.4 分号
7.3 PHP变量
7.3.1 数值型变量
7.3.2 字符串变量
7.3.3 超级全局变量
7.3.4 数组
7.3.5 常量
7.4 PHP运算符
7.4.1 算术函数
7.4.2 赋值运算符
7.4.3 比较运算符
7.4.4 逻辑运算符
7.4.5 三元运算符
7.4.6 自动变量类型
7.4.7 运算符优先级
7.5 PHP函数
7.5.1 局部变量
7.5.2 全局变量
7.5.3 静态变量
7.6 条件表达式
7.6.1 if()语句
7.6.2 else语句
7.6.3 switch()语句
7.7 循环代码段
7.7.1 使用while()循环
7.7.2 使用do...while()循环
7.7.3 使用for()循环
7.8 处理Web表单数据
7.8.1 Post请求
7.8.2 GET请求
7.9 通过JavaScript和PHP实现Ajax调用
7.9.1 创建Ajax对象
7.9.2 初始化POST请求
7.9.3 初始化GET请求
7.10 本章小结
第8章 MySQL介绍
8.1 创建MySQL用户账户
8.1.1 授予用户权限
8.1.2 创建数据库
8.2 使用PHP访问MySQL
8.2.1 MySQL基本命令
8.2.2 MySQL数据类型
8.2.3 使用索引
8.2.4 创建表
8.2.5 组合在一个程序中
8.2.6 安全和防黑客措施
8.3 本章小结
第Ⅱ部分 移动设备开发
第9章 开发友好的移动网站
9.1 屏幕大小
9.2 字体大小
9.2.1 图片大小
9.2.2 Liquid Flow
9.3 使用滚动和提示
9.4 交互性导航与用户输入
9.4.1 使用sms:和tel:URL
9.4.2 苹果桌面图标
9.4.3 在全屏模式下运行iOS桌面网页
9.4.4 创建iOS闪屏
9.5 本章小结
第10章 使用eML电子书平台
10.1 eML文档的基本结构
10.1.1 提供出版物标题和其他细节
10.1.2 创建菜单
10.1.3 添加章节
10.1.4 eML子文件夹
10.1.5 组合以上功能
10.2 使用eML标签
10.3 eML标签
10.3.1 管理字体
10.3.2 改变颜色
10.3.3 显示非常用符号
10.3.4 基本格式
10.3.5 高级格式
10.3.6 在iOS和Android上覆盖字体大小
10.4 本章小结
第11章 开发Web应用程序
11.1 关于项目
11.2 建立MySQL数据库
11.3 HTML
11.4 CSS
11.5 JavaScript程序
11.5.1 全局变量
11.5.2 DoLogin()函数
11.5.3 LoginCheck()函数
11.5.4 Login()函数
11.5.5 GetChat()函数
11.5.6 ShowChat()函数
11.5.7 SetPostRecipient()函数
11.5.8 PostMessage()函数
11.5.9 SendPM()函数
11.5.10 RemovePMWindow()函数
11.5.11 Getlnput()函数
11.5.12 ProcessKey()函数
11.5.13 DoToUpper()函数
11.5.14 DoToLower()函数
11.5.15 DoToNumbers()函数
11.5.16 HighlightButton()函数
11.5.17 Logout()函数
11.5.18 NavCheck()函数
11.5.19 ActivateObject()函数
11.5.20 StopDefaultAction()函数
11.5.21 SetUpClearBut()函数
11.5.22 O()函数
11.5.23 S()函数
11.5.24 CreateAjaxObject()函数
11.5.25 PostAjaxRequest()函数
11.5.26 ProcessCookie()函数
11.6 使用网页
11.6.1 使用桌面图标
11.6.2 为Web应用程序提供额外的屏幕空间
11.7 PHP程序
11.7.1 login.php程序
11.7.2 robslogin.php程序
11.7.3 robsgetchat.php程序
11.7.4 robspost.php程序
11.8 本章小结
……
第Ⅲ部分 创建独立的应用程序
文摘
3.7.3 样式表选择器
选择需要应用样式的元素有3种不同的方法。按照优先等级由高到低排列依次为:
(1)通过个别ID引用
(2)通过类引用某个组
(3)通过元素标签引用(例如
或者)
根据受某个规则影响的元素数量和类型处理选择器,这与上面的解决冲突的两个方法稍有不同。这是因为在某一时刻,规则不仅仅应用于某个类型的选择器,相反可以引用多个不同的选择器。因此,需要一个方法决定规则的优先等级,这些规则可以包含选择器的组合。这主要通过按照动作范围从最宽到最窄进行排序,计算每条规则的特异性来实现。
1.计算规则特异性(优先权)
规则特异性的计算方法为:基于上面的数字列表中的选择器类型创建一个三部分的数字。这些组合数字以(0,0,0)的形式开始。当处理一个规则时,每个指代ID的选择器都将第一个数增大1,因此组合数字变为(1,0,0)。如果在某个特殊的规则中包含3个ID引用,那么组合数字应该为(3,0,0)。
然后引用某个类的选择器的数字被放置于组合数字的第二部分中。如果有5个选择器,那么组合数字变为(3,5,0)。
最后,所有引用元素标签的选择器都会被计数,该数值被放置于组合数字的最后一部分中。如果有两个这种类型的选择器,那么最终的组合数字变为(3,5,2),这对于比较两个规则之间的特异性是必需的。
如果在一个组合数字中每个类型的数目为9个或者少于9个,那么可以将其直接转换为十进制数,本例为352。比该数字小的规则优先级要低,比该数字大的规则具有较高的优先级。如果两个规则共享同样的值,那么最近应用的规则胜出。
2.使用不同的数字进制
如果某个类型的数字大于9,那么必须在更高的数字进制基础上进行工作。例如,组合数字(11,7,19)不能简单的连接3个部分并且转换为十进制数。可以将该数字转换为更高的数字进制基础,例如20(如果某个类型的数字大于19,那么还需要更高的数字进制基础)。