zoukankan      html  css  js  c++  java
  • Mobile Web Page 移动设备分辨率

    为了不致于混淆,我们区分三个指标值:

    • CSS pixel
    • device pixel
    • px density 即像素密度

    具体来说,iPhone 4 和 iPhone 3 的 CSS pixel 是一样的,都是 320×480;但是二者的device pixel 则分别为 640×960 和 320×480;而二者的像素密度则分别为 200% 和 100%。
    需要指出的是这里的 device pixel 和安卓里面的 device independent pixel 不是一个概念。

    然后我们按照各个设备屏幕的宽×高、宽、高分别做累计。这里将无视设备由于重力感应转动屏幕方向而造成的影响。

    结果

    设备像素宽度×高度:22种

    768 × 1024 , 1536 × 2048 , 1600 × 2560 , 640 × 960 , 720 × 1280 , 640 × 1136 , 480 × 800 ,600 × 1024 , 768 × 1280 , 1080 × 1920 , 800 × 1280 , 320 × 480 , 1200 × 1920 , 540 × 960 ,1024 × 600 , 480 × 854 , 600 × 800 , 1920 × 1080 , 1366 × 768 , 720 × 720 , 1280 × 800 ,2048 × 1536

    设备像素宽度:17种

    320 , 480 , 540 , 600 , 640 , 720 , 768 , 800 , 1024 , 1080 , 1200 , 1280 , 1366 ,1536 , 1600 , 1920 , 2048

    设备像素高度:15种

    480 , 600 , 720 , 768 , 800 , 854 , 960 , 1024 , 1080 , 1136 , 1280 , 1536 , 1920 ,2048 , 2560

    CSS像素宽度×高度:21种

    768 × 1024 、 800 × 1280 、 320 × 480 、 360 × 640 、 320 × 568 、 320 × 533 、 600 × 1024 、 384 × 640 、 533 × 853 、 400 × 640 、 1024 × 600 、 320 × 569 、 600 × 800 、 600 × 960 、 1280 × 720、 1366 × 768 、 360 × 360 、 853 × 533 、 1024 × 768 、 1280 × 800 、 768 × 1280

    CSS像素宽度:12种

    320 、 360 、 384 、 400 、 533 、 600 、 768 、 800 、 853 、 1024 、 1280 、 1366

    CSS像素高度:14种

    360 、 480 、 533 、 568 、 569 、 600 、 640 、 720 、 768 、 800 、 853 、 960 、 1024 、 1280

    像素密度:4种

    100% 、 150% 、 200% 、 300%

    做法

    获取数据的做法就是等待http://screensiz.es/页面加载完毕以后用DOM取得数据内容:

    var deviceWHResult = {} ,
        deviceWResult = {} ,
        deviceHResult = {} ,
        cssWHResult = {} ,
        cssWResult = {} ,
        cssHResult = {} ,
        pxDensityPctgResult = {} ;
    $(".table-wrapper").find('.device_types').not(".monitor").each(function(i,e){
        var $e = $(e) ;
        var deviceW = $e.find('.px_width_value').text().trim() ,
            deviceH = $e.find('.px_height_value').text().trim() ,
            pxDensityPctg = parseInt( $e.find('.px_density_value').text().trim() ) ,
            cssW = (deviceW * 100 / pxDensityPctg).toFixed() ,
            cssH = (deviceH * 100 / pxDensityPctg).toFixed() ;
        deviceWHResult[deviceW + " × " + deviceH] = true ;
        deviceWResult[deviceW] = true ;
        deviceHResult[deviceH] = true ;
        cssWHResult[cssW + " × " + cssH] = true ;
        cssWResult[cssW] = true ;
        cssHResult[cssH] = true ;
        pxDensityPctgResult[pxDensityPctg] = true ;
    });
    
    console.log( "deviceWHResult: " ) ;
    console.dir(Object.keys(deviceWHResult)) ;
    console.log( "deviceWResult: " ) ;
    console.dir(Object.keys(deviceWResult)) ;
    console.log( "deviceHResult: " ) ;
    console.dir(Object.keys(deviceHResult)) ;
    console.log( "cssWHResult: " ) ;
    console.dir(Object.keys(cssWHResult)) ;
    console.log( "cssWResult: " ) ;
    console.dir(Object.keys(cssWResult)) ;
    console.log( "cssHResult: " ) ;
    console.dir(Object.keys(cssHResult)) ;
    console.log( "pxDensityPctgResult: " ) ;
    console.dir(Object.keys(pxDensityPctgResult)) ;

    screensiz.es 数据源的缺点是只看外国的主流手机的屏幕,而这个和国内的还是不太一样。如果有人有国内的数据源,可以提供给我哟~

    百度的流量研究院没有区分移动端,所以就没有使用它们的数据了。

  • 相关阅读:
    Unity3d TweenPosition.Begin()的使用浅析
    Unity3D 代理的使用及获取两个碰撞器的碰撞点
    Unity3D 调用GPS位置服务实现代码
    在控制台中输入msqyl一直报ERROR 2003 (HY000): Can't connect to MySQL server on 'localhost'错误
    eclipse 提示错误The method of type must override a superclass method 的解决办法
    Linux高级命令
    Centos7安装及配置
    Linux基本命令
    多线程
    java总结
  • 原文地址:https://www.cnblogs.com/wzzl/p/4966287.html
Copyright © 2011-2022 走看看