canvas教程

HTML5网页中SVG和Canvas以及IMG图片的转换方法(4)

字号+ 作者:H5之家 来源:H5之家 2017-05-06 09:05 我要评论( )

var details = {author:isaac,description:fresheggs,rating:100}; storage.setItem(details,JSON.stringify(details)); details = JSON.parse(storage.getItem(details)); JSON对象在支持localStorage的浏览器上基

var details = {author:"isaac","description":"fresheggs","rating":100};
storage.setItem("details",JSON.stringify(details));
details = JSON.parse(storage.getItem("details"));

JSON对象在支持localStorage的浏览器上基本都支持,需要注意的是IE8,它支持JSON,但如果添加了如下的兼容模式代码,切到 IE7模 式就不行了(此时依然支持localStorage,虽然显示window.localStorage是[object],而不是之前的[object Storage],但测试发现getItem()、setItem()等均能使用)。<meta content="IE=7" http-equiv="X-UA-Compatible"/>

html5的网页在手机缩放得很小导致看不清,现在我们来用meta标签viewport解决手机页面缩放异常的问题,这样就可以看清html5的手机网页了。

用html5文档申明做的页面在PC上的效果没问题,但手机浏览器会把该网页缩放到很小,你可以看到整个网页但是看不清字了!!

只需在页面head标签内上加入meta标签 的viewport申明:

<meta name="viewport" content="width=device-width">

就能帮你解决这个看似很糟糕的问题。

viewport 语法介绍:

<!-- html document -->
<meta name="viewport"
content="
height = [pixel_value | device-height] ,
width = [pixel_value | device-width ] ,
initial-scale = float_value ,
minimum-scale = float_value ,
maximum-scale = float_value ,
user-scalable = [yes | no] ,
target-densitydpi = [dpi_value | device-dpi | high-dpi | medium-dpi | low-dpi]
"
/>

width

width表示网页的布局layout宽度,控制 viewport 的大小,可以指定的一个值(默认单位px)或者特殊的值,如:
width=960, initial-scale=0.33(960是页面layout的宽度,这里设width意思是将其它缩小到大约1/3,这样正好可以在320像素的手机设备上看到整个网页)



width=device-width (设备的宽度,通用写法)

height

和width用法相同,指定高度。

target-densitydpi

一个屏幕像素密度是由屏幕分辨率决定的,通常定义为每英寸点的数量(dpi)。Android支持三种屏幕像素密度:低像素密度,中像素密度,高像素密度。一个低像素密度的屏幕每英寸上的像素点更少,而一个高像素密度的屏幕每英寸上的像素点更多。Android Browser和WebView默认屏幕为中像素密度。

下面是 target-densitydpi 属性的 取值范围

device-dpi –使用设备原本的 dpi 作为目标 dp。 不会发生默认缩放。
high-dpi – 使用hdpi 作为目标 dpi。 中等像素密度和低像素密度设备相应缩小。
medium-dpi – 使用mdpi作为目标 dpi。 高像素密度设备相应放大, 像素密度设备相应缩小。 这是默认的target density.
low-dpi -使用mdpi作为目标 dpi。中等像素密度和高像素密度设备相应放大。
<value> – 指定一个具体的dpi 值作为target dpi. 这个值的范围必须在70–400之间。

<!-- html document -->
<meta name="viewport" content="target-densitydpi=device-dpi" />
<meta name="viewport" content="target-densitydpi=high-dpi" />
<meta name="viewport" content="target-densitydpi=medium-dpi" />
<meta name="viewport" content="target-densitydpi=low-dpi" />
<meta name="viewport" content="target-densitydpi=200" />

为了防止Android Browser和WebView 根据不同屏幕的像素密度对你的页面进行缩放,你可以将viewport的target-densitydpi 设置为 device-dpi。当你这么做了,页面将不会缩放。相反,页面会根据当前屏幕的像素密度进行展示。在这种情形下,你还需要将viewport的width定义为与设备的width匹配,这样你的页面就可以和屏幕相适应。
 
initial-scale

 

1.本站遵循行业规范,任何转载的稿件都会明确标注作者和来源;2.本站的原创文章,请转载时务必注明文章作者和来源,不尊重原创的行为我们将追究责任;3.作者投稿可能会经我们编辑修改或补充。

相关文章
  • 学习使用Canvas绘图

    学习使用Canvas绘图

    2017-05-05 17:03

  • canvas 画六边形边框

    canvas 画六边形边框

    2017-05-05 12:00

  • 妙味课堂HTML5视频教程——canvas基础5.zip

    妙味课堂HTML5视频教程——canvas基础5.zip

    2017-05-04 18:11

  • canvas系列教程1

    canvas系列教程1

    2017-05-04 14:00

网友点评
d