<'meta name=“视口”content=“width=设备宽度初始比例=1.0,最大比例=1.0,目标密度1.0=...,用户可缩放=0”/>‘
在不同的设备和浏览器上进行了测试。两款平板电脑的物理分辨率均为1280*800px。银河系标签10“Nexus7 7”。
Chrome +设备-dpi
银河:视窗宽度1279px,像素比例1,screen.width 1280
nexus7 : vp 1279px,pr 1.3312...,sw 1280
Chrome +高分辨率
galaxy : vp 1919px,pr 1,sw 1280
nexus7 : vp 1441px,pr 1.3312...,sw 1280
Chrome +低dpi
galaxy : vp 959px,公关1,软件1280
nexus7 : vp 720px,pr 1.3312...,sw 1280
现在使用Firefox (15/19) +
galaxy : vp 1280px,pr未定义,sw 1280
nexus7 : vp 853px,公关1,软件1280
853px为1280 * 2/3。
现在,将宽度属性更改为任何离散值,如1280,并移除缩放边界,两个平板电脑都将获得1280的视口。将width留空或设置为"auto“将导致Vieport
galaxy : vp 980px,pr未定义,软件1280
nexus7 : vp 980px,公关1,软件1280
有人能给我解释一下吗?mozilla不支持目标密度not。所以它确实没有效果。我认为18年前的mozilla版本中没有定义像素比? 1) mozilla在基于android的nexus上缩放了2/3,还是mozilla的一个“功能”?2) 980px是从哪里来的?这与设置"auto“为width是一样的。但是为什么两个设备的viewport.width都是980呢?来自W3C的一些默认设置?
发布于 2013-03-05 22:53:34
980px是苹果选择用来创建视窗的一个数字,这样它的大部分网页都可以在iphone上合理地渲染(iphone在发布时的像素数量要小得多)。
除非你的目标是Android浏览器(我建议不要使用),否则视口中的目标密度将被忽略,并且根本不会在所有其他浏览器中使用(据我所知)。我们当然不再在Chrome中支持它了,你也不应该把它包含进来,也不应该期望它能工作。其他人也不支持视口中的目标密度,并且WebKit不会也不会继续支持它。
screen.width报告了一个不同的值,它是(1 / devicePixelRatio) *实际物理宽度的缩放值,因此nexus7是800像素(纵向实际像素),像素密度为1.33,等于1/1.33 * 800 =601CSS像素。
每个渲染引擎在处理视口的方式上是不同的,但变得更加一致。如果壁虎没有pixleRation,那是因为他们还没有实现它。
发布于 2013-02-23 03:39:56
viewport target densitydpi support is being deprecated
https://stackoverflow.com/questions/15030252
复制相似问题