HTML5 定位

Dive into HTML5
HTML5 Geolocation
Geolocation背后的基本原理

HTML定位API用于获取用户的地理位置(经纬度),但由于涉及隐私,除非用户同意,否则我们无法得到用户的位置。

API Chrome IE Firefox Safari Opera
Geolocation 5.0 - 49.0 (http)
50.0 (https)
9.0 3.5 5.0 16.0

从Chrome50开始,定位API只能用于HTTPS的站点,也就是说如果我们的站点不是HTTPS(如HTTP站点),那么获取用户位置的功能无法使用。

html5 本地存储

Dive into HTML5

在HTML5之前,Web应用一般只能使用Cookie将数据存储在用户计算机,每次请求都携带被存储的数据,这使得Cookie的性能并不好;而且Cookie的使用有限制,比如最多只能存储4K的数据,于是HTML5引入了两种在客户端存储数据(本地存储)的方法:localStoragesessionStorage

  • localStorage :没有时间限制的数据存储
  • sessionStorage :针对一个 session 的数据存储(浏览器关闭后数据会丢失)

相对于Cookie,本地存储更安全并可以存储比较大的数据(至少5M),而且数据永远不会传递到服务器,这样便不会影响网站性能。不同的网站数据存储于不同的区域,并且一个网站只能访问其自身的数据。

HTML5 Canvas

HTML5定义的 <canvas> 元素可以使用 javascript 在网页上绘制图像,canvas(可以称作“画布”)是网页上的一个矩形区域,我们就是在这个区域内进行绘制;在这个矩形区域内,我们可以控制其每个像素,而且 <canvas> 拥有多种绘制路径、矩形、圆形、字符以及添加图像的方法。

<canvas> 元素的浏览器兼容情况:

元素 Chrome IE Firefox Safari Opera
<canvas> 4.0 9.0 2.0 3.1 9.0

CSS3学习之User Interface

CSS3增加了几个用户界面相关的特性,下面表格中列举了这几个属性及浏览器兼容情况:

Property Chrome IE Firefox Safari Opera
resize 4.0 Not supported 5.0
4.0 -moz-
4.0 15.0
outline-offset 4.0 Not supported 5.0
4.0 -moz-
4.0 9.5
box-sizing 10.0
4.0 -webkit-
8.0 29.0
2.0 -moz-
5.1
3.1 -webkit-
9.5
appearance 4.0 -webkit- Not supported 2.0 -moz- 3.1 -webkit- 15.0 -webkit-

appearance在测试时表现很怪,w3schools上该属性页面标题改为 REMOVED FROM CSS3,不知何因

CSS3学习之Multiple Columns

在Web页面中,表格很早就被用来描述多列布局了,那现在在CSS3中引入的多列布局有什么不同呢?其实CSS3中的多列布局最大的好处是具有弹性,如列数可以根据视口大小的变化而改变。从HTML文档中移除table标签既有利于源码的阅读和维护,又可以使页面在不同设置上都有良好的视觉体验。

而且,CSS3多列布局其实相当简单,不信?看下面:

CSS3 Multiple Columns

CSS3中新出现的多列布局(multi-column)是传统HTML网页中块状布局模式的有力扩充。这种新语法能够让WEB开发人员轻松的让文本呈现多列显示。我们知道,当一行文字太长时,读者读起来就比较费劲,有可能读错行或读串行;人们的视点从文本的一端移到另一端、然后换到下一行的行首,如果眼球移动浮动过大,他们的注意力就会减退,容易读不下去。所以,为了最大效率的使用大屏幕显示器,页面设计中需要限制文本的宽度,让文本按多列呈现,就像报纸上的新闻排版一样。

CSS3学习之Flexible Box

Flexible Box(也叫Flexbox)是CSS3新增的一种可伸缩的灵活的Web页面布局方式,使用它可以使Web页面在不同设备及不同屏幕上显示地更加友好。

首先看一下Flexbox浏览器兼容情况:

Property Chrome IE Firefox Safari Opera
Basic support
(single-line flexbox)
29.0
21.0 -webkit-
11.0 22.0
18.0 -moz-
6.1 -webkit- 12.1 -webkit-
Multi-line flexbox 29.0
21.0 -webkit-
11.0 28.0 6.1 -webkit- 17.0
15.0 -webkit-
|