首页 > 代码库 > HTML5与CSS3权威指南.pdf6
HTML5与CSS3权威指南.pdf6
第11章 获取地理位置信息
HTML5为window.navigator对象新增了一个geolocation属性
取得当前地理位置
void getCurrentPosition(onSuccess,onError,options);
第一个参数为获取成功执行的回调函数,第二个为失败时执行的回调函数,第三个为一些可选属性的列表(第二个和第三个可选)
navigator.geolocation.getCurrentPosition(function(position){
//获取成功时的处理(参数position为一个position对象)
})
getCurrentPosition方法的第二个参数为获取失败时调用的函数,可以是一个提示框等
当浏览器询问用户是否共享位置信息,选择否也会引发错误,回调函数有一个error对象,具有两个属性
code属性:用户拒绝了位置服务(值为1) 获取不到位置信息(值为2) 获取信息超时错误(值为3)
message属性:为一个字符串,包含了错误信息,在调试时有用处
getCurrentPosition方法的第三个参数,可以有:
enableHighAccuracy:是否要求高精度地理位置信息,需要综合考虑设备电量、具体地理情况来考虑,多数情况下为默认
timeout:对地理位置信息获取操作的限时操作(单位毫秒),在规定时间未获取到则返回错误
maximumAge:对地理位置信息进行缓存的有效时间(毫秒),过期后尝试再次获取信息
navigator.geolocation.getCurrentPosition(
function(position){...},
function(error){...},
{maximumAge:60*1000*2,timeout:5000}
)
持续监视当前地理位置的信息(定期自动获取)
int watchCurrentPosition(onSuccess,onError,options);
其参数与getCurrentPosition方法相同,同时返回一个数字,可以被clearWatch方法使用,停止监视
停止void clearWatch(watchId);
position对象:获取地理位置成功以后,调用的回调函数访问position对象的属性
latitude:维度
longitude:经度
altitude:海拔高度,不能获取则为null
accuracy经纬度的精度(米)
altitudeAccurancy海拔高度的精度(米)
heading设备的前进方法,面朝正北的顺时针角度表示,不能获取则为null
speed设备的前进速度,不能获取则为null(米/秒)
timestamp获取位置时的时间
第12章 CSS3概述
CSS3中,没有采用总体结构,而是采用分工协作的模块化结构
模块式的好处在于防止某些浏览器不完全支持一些功能时,拆分成多个模块以逐步支持
第3章 选择器
在样式中指定class缺点有:class本身没语义;使用混乱
属性选择器[att*=val][att^=val][att$=val]
结构性伪类选择器
伪类选择器就是CSS中已经定义好的选择器,不可以随便改名(前加“:”)
a:link a:visited a:hover a:active first-line first-letter before after
root选择器:将样式绑定到页面的根元素(整个<HTML>)
not选择器:排除这个结构元素下面的子结构元素
empty选择器:指定元素内容为空白时使用的样式
target选择器:<a href="http://www.mamicode.com/#text1">文字</a>,跳转到id等于text1时,变化的样式
first-child last-child nth-child(:nth-child(3)第3个元素 若odd为奇数)和nth-last-child(:nth-last-child(3)倒数第3个元素 若even为偶数)
nth-of-type和nth-last-of-type,按照类型排序,上例是指全部元素的奇数元素的一个,这里指全部奇数元素的某一个
only-child选择器:仅仅只有一个子元素时应用样式
UI元素状态伪类选择器
除了结构性伪类选择器外,还有UI元素状态伪类选择器
:hover :active :focus :enabled(可用) :disabled(不可用):read-only(只读readonly="readonly") :read-write(非只读) :checked(radio单选框或checkbox复选框处于选取状态,Firefox必须写成-moz-checked) :default(单选或复选框处于默认选取状态):indeterminate(任何一个单选框都没有被设定为选取状态时,整体的样式,用户选中其中一个则样式被取消):selection(元素处于选中状态)
通用兄弟元素选择器
<子元素>-<子元素之后的兄弟元素>{}