Html 屏幕适配


flexible方案原理: <未实验>


https://segmentfault.com/a/1190000003101394?_ea=306774

文字用px 剩下用rem

/* media.css */ 就是之前会玲说的那个 
@media screen and (min-width:320px) and (max-width:320px){
    html{ font-size:320 / 320 * $basicRem; }
}
@media screen and (min-width:400px) and (max-width:400px){
    html{ font-size: 400 / 320 * $basicRem; }
}
//如果不知道要兼容什么样的设备。可以再用户访问后,javascript收集该设备的相关信息,然后在服务端自动更新该文件的内容,加入新的@media规则
<meta name="flexible" content="initial-dpr=2" />
if (!dpr && !scale) {
    var isAndroid = win.navigator.appVersion.match(/android/gi);
    var isIPhone = win.navigator.appVersion.match(/iphone/gi);
    var devicePixelRatio = win.devicePixelRatio;
    if (isIPhone) {
        // iOS下,对于2和3的屏,用2倍的方案,其余的用1倍方案
        if (devicePixelRatio >= 3 && (!dpr || dpr >= 3)) {                
            dpr = 3;
        } else if (devicePixelRatio >= 2 && (!dpr || dpr >= 2)){
            dpr = 2;
        } else {
            dpr = 1;
        }
    } else {
        // 其他设备下,仍旧使用1倍的方案
        dpr = 1;
    }
    scale = 1 / dpr;
}



flexible方案: <未实验>


https://github.com/amfe/article/issues/17

1 导入flexible.js & flexible_css.js

或者直接引用
<script src="http://g.tbcdn.cn/mtb/lib-flexible/0.3.4/??flexible_css.js,flexible.js"></script>
***(建议放在最前 css之上)***

2 文字用px 剩下用rem

rem = 需转换的px值 / 设计稿总宽度px值 * 10 
>http://blog.csdn.net/pwc1996/article/details/75738725

*最好设置最大宽度最小宽度 : max-width: 640px;



vw方案: <未实验>


https://www.w3cplus.com/css/vw-for-layout.html

1vw = window.innerWidth * 1%

1vh = window.innerHeihgt * 1%
vmin = (vw < vh ? vw : vh)
vmax = (vw > vh ? vw : vh)

全部用vw (包括文字)

Yvw = x / 设计稿总宽度 * 100
视觉设计稿总宽度750px,那么100vw = 750px,即1vw = 7.5px

特殊情况 1px

https://www.w3cplus.com/css/fix-1px-for-retina.html


上一篇:vw开发


下一篇:CSS3自适应布局之视口高度