移动端屏幕适配

ios

pt与px的换算

ios中的pt表示逻辑分辨率(在打印时pt表示磅,是一个长度单位,即1/72英寸)。
ppi(dpi)表示对角线上一英寸物理像素的多少。

设备类型逻辑分辨率(pt)物理分辨率(px)倍图(@Reader)尺寸
iPhone3GS320x480320x480@1x3.5
iPhone4/4s320x480640x960@2x3.5
iPhone5/5c/5s320x480640x1136@2x4
iPhone6/6s375x667750x1334@2x4.7
iPhone6plus+414x7361242x2208(实际1080x1920)@3x5.5
iPhoneX375x8121125x2436@3x5.8

可以看到iPhone的屏幕越大显示内容越多,显示效果越精细

Android

dp与px的换算

dp是Android特有的单位

密度类型物理分辨率逻辑分辨率(dp)屏幕密度比率换算
低密度240x320320x4801201px=0.75dp3
中密度320x480320x4801601px=1dp4
高密度480x800320x4802401px=1.5dp6
超高密度720x1280360x6403201px=2dp8
超超高密度1080x1920360x6404801px=3dp12

可以看到1080/480>480/240,所以超超高密度屏幕比高密度屏幕能显示更多内容

H5

rem等比例适配所有屏幕:

各种设备屏幕大小不同,分辨率也不同,使用rem适配不同屏幕非常高效,这种方法不同屏幕显示的内容量是一样的,大屏幕显示的内容不会更多。计算根元素字体的大小:

//使用这种方式在meta标签中设置width=device-width与否,不会对最终效果产生影响
(function(){
    var currClientWidth,
        fontValue,
        originWidth;
    originWidth = 750;//ui设计稿的宽度,一般750或640
    getFontValue();
    
	function getFontValue() {
        currClientWidth = document.documentElement.clientWidth;
        if (currClientWidth > 768){
            currClientWidth = 768;
        } 
        if (currClientWidth < 320){
            currClientWidth = 320;
        } 
        //倍率为100是为了方便计算,根元素字体大小为100/(设计稿宽度/屏幕宽度),其中屏幕宽度为物理像素
        fontValue = ((50 * currClientWidth) / originWidth).toFixed(2);
        document.documentElement.style.fontSize = fontValue + 'px';
    }
    
    window.addEventListener('resize', getFontValue, false);
})();

设置某元素的rem值时,取值为ui设计稿的值除以100,例如,某元素宽为300,那么其css代码为width: 3rem;

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值