移动端开发资源


使用Flexible实现手淘H5页面的终端适配(淘宝官方):https://github.com/amfe/article/issues/17

移动前端自适应解决方案和比较:http://caibaojian.com/mobile-responsive-example.html

如何适配不同分辨率和不同屏幕尺寸的手机:http://www.html5cn.org/article-9368-1.html

多终端屏幕适配:http://www.html5cn.org/article-9865-1.html

移动H5前端性能优化指南:http://segmentfault.com/a/1190000002511921

深入了解viewport和px:http://tgideas.qq.com/webplat/info/news_version3/804/7104/7106/m5723/201509/376281.shtml

背景图片百分比及应用:http://caibaojian.com/background-position-percent.html?wb

如何打造一个高效适配的H5:https://isux.tencent.com/how-to-make-webpage-fit-screen.html?utm_medium=hao.caibaojian.com&utm_source=hao.caibaojian.com

移动端 Web 开发踩坑之旅:https://zhuanlan.zhihu.com/p/26141351?utm_medium=hao.caibaojian.com&utm_source=hao.caibaojian.com

 

布局方法:

1、rem和百分比流体布局的对比,以及为何要选用rem来做移动端适配布局:http://isux.tencent.com/web-app-rem.html      http://121.40.99.17/global/rem-phone.html(demo)  

淘宝m站首页的动态实现:http://segmentfault.com/a/1190000003690140   http://www.imooc.com/article/1923(sass实现移动端rem自适应)

2、Flex弹性盒模型(伸缩式布局):http://www.imooc.com/article/3735

http://www.cnblogs.com/acmilan/archive/2012/03/02/2377812.html(旧版)  

flexbox布局:http://www.w3cplus.com/css3/flexbox-basics.html(新版)

Flex布局新旧混合写法详解(兼容微信):http://www.imooc.com/article/2073 

flex.css快速入门,极速布局:http://gold.xitu.io/post/582d991cc4c9710054407dc3?utm_medium=hao.caibaojian.com&utm_source=hao.caibaojian.com

3、CSS3引入的"vm"和"vh"基于宽度/高度相对于窗口大小,"vm"="view width","vh"="view height",以上我们称为视窗单位允许我们更接近浏览器窗口来定义大小。1vh等于1/100的视口高度。例如,浏览器高度600px, 1vh=600px/100=6px。同理,如果视口宽度为1000px,1vw=1000px/100=10px。vh和vm依据于视口的高度和宽度,相对的,vmin和vmax则关于视口高度和宽度两者的最小或者最大值。比如,浏览器的宽度设置为1200px,高度设置为700px, 1vmin=7px,1vmax=12px。如果宽度设置为800px,高度设置为1000px, 1vmin就等于8px, 1vmax则为10px。做移动页面开发时,如果使用 vw、wh 设置字体大小(比如 5vw),在竖屏和横屏状态下显示的字体大小是不一样的。由于 vmin 和 vmax 是当前较小的 vw 和 vh 和当前较大的 vw 和 vh。这里就可以用到 vmin 和 vmax,使得文字大小在横竖屏下保持一致。

4.
CSS3-Media Query的两种应用响应式布局的方式:
(1)在头部head标签中,引用外联样式link标签中添加media="only screen and (max-width: 480px)"
(2)在样式style标签中添加:@media screen and (min-width: 480px){样式属性}

5、最新Grid网格布局:https://gridbyexample.com/

6、在微信中提示用户跳转时的操作:

//智能机浏览器版本信息
var browser = {
    versions: function() {
        var u = navigator.userAgent, app = navigator.appVersion;
        return {
            //移动终端浏览器版本信息
            trident: u.indexOf('Trident') > -1, //IE内核
            presto: u.indexOf('Presto') > -1, //opera内核
            webKit: u.indexOf('AppleWebKit') > -1, //苹果、谷歌内核
            gecko: u.indexOf('Gecko') > -1 && u.indexOf('KHTML') == -1, //火狐内核
            mobile: !!u.match(/AppleWebKit.*Mobile.*/) || !!u.match(/AppleWebKit/), //是否为移动终端
            ios: !!u.match(/\(i[^;]+;( U;)? CPU.+Mac OS X/), //ios终端
            android: u.indexOf('Android') > -1 || u.indexOf('Linux') > -1, //android终端或者uc浏览器
            iPhone: u.indexOf('iPhone') > -1 || u.indexOf('Mac') > -1, //是否为iPhone或者QQHD浏览器
            iPad: u.indexOf('iPad') > -1, //是否iPad
            webApp: u.indexOf('Safari') == -1 //是否web应该程序,没有头部与底部
        };
    }(),
    language: (navigator.browserLanguage || navigator.language).toLowerCase()
};

$("#downloadBtn").on("click", function(e){
    if(isWeiXin()){
        $("#mask").show().find("p").text("点击右上角,在浏览器中打开后,下载应用");
        $("html, body").css("overflow", "hidden");
        $("body").on("touchmove", function(e){  //修复iOS浏览器下存在的滚动条
            e.preventDefault();
        });
    }
    else{
        if (browser.versions.ios || browser.versions.iPhone || browser.versions.iPad) {
            window.location="https://itunes.apple.com/cn/app/lin-kong-gang-xin-wen/id1120591893?mt=8";
        }
        else if (browser.versions.android) {
            window.location="http://121.43.104.166/download/lkg.apk";
        }
    }
});

$("#mask").on("click", function(){
    $(this).hide().find("p").text("");
    $("html, body").css("overflow", "auto");
    $("body").off("touchmove");
});

//判断是否是微信浏览器
function isWeiXin(){
    var ua = window.navigator.userAgent.toLowerCase();
    if(ua.match(/MicroMessenger/i) == 'micromessenger'){
        return true;
    }
    else{
        return false;
    }
}

 7.JS判断移动设备最佳方法并实现跳转至手机版网页:http://www.cnblogs.com/mrdoor/p/5560775.html

 8.JS判断是否为移动端访问,跳转到对应的移动端网页:

function checkMobile(){    
            var isiPad = navigator.userAgent.match(/iPad/i) != null;   

            if(isiPad){    
                return false;    
            }    
            var isMobile = navigator.userAgent.match(/iphone|android|phone|mobile|wap|netfront|x11|java|opera mobi|opera mini|ucweb|windows ce|symbian|symbianos|series|webos|sony|blackberry|dopod|nokia|samsung|palmsource|xda|pieplus|meizu|midp|cldc|motorola|foma|docomo|up.browser|up.link|blazer|helio|hosin|huawei|novarra|coolpad|webos|techfaith|palmsource|alcatel|amoi|ktouch|nexian|ericsson|philips|sagem|wellcom|bunjalloo|maui|smartphone|iemobile|spice|bird|zte-|longcos|pantech|gionee|portalmmm|jig browser|hiptop|benq|haier|^lct|320x320|240x320|176x220/i)!= null;   

            if(isMobile){ 
                //移动端的处理逻辑
                return true; 
            }    
            return false;    
        }   

checkMobile();

优秀的Web App前端框架:

1、2015年top20开源前端开发框架:http://www.oschina.net/news/69788/2015-opensource-frontend-framework-top20 2、Ratchet中国:http://cnratchet.com/ 3、iOS7 App前端框架Framework7:http://www.idangero.us/framework7/#.Va7qz3rvOUk 4、腾讯前端框架FrozenUI:http://frozenui.github.io/ 5、GMU是基于zepto的mobile UI组件库:http://gmu.baidu.com/ 6、基于Win8风格的前端框架Metro UI CSS:http://www.bootcss.com/p/metro-ui-css/ 7、ICECSS轻量级CSS框架:http://besdlab.cn/ICECSS/docs/ 8、Foundation:http://foundation.zurb.com/index.html 9、semantic:http://www.semantic-ui.cn/ 10、ionic:http://www.ionic.wang/ 11、微信UI库:http://weui.github.io/weui/ 12、ZUI html5前端框架:http://zui.sexy/ 13、阿里UED团队UI:http://m.sui.taobao.org/ 14、百度Web前端UI框架BlendUI:http://clouda.baidu.com/blend2 15、基于Vue 2.0的组件库: iView UI:https://www.iviewui.com/ Element:http://element.eleme.io/#/       Mint UI:http://mint-ui.github.io/#!/zh-cn 16、轻量灵活的移动端 CSS 框架:ttp://getmobicss.com/zh-cn/