`

移动端几种做前端适配的方法讲解

阅读更多

目前我所知道是有几种方法来做适配:

 

1.使用rem单位来做网页适配,这个是我比较推荐的一种,效果很好,浏览器的兼容性也不错

只要一行代码就能适配多个分辨率终端

 

        (function(doc,win){
            var docEl =doc.documentElement,
                    resizeEvt = 'orientationchange' in window ? 'orientationchange' : 'resize',
                    recalc = function(){
                        var clientWidth = docEl.clientWidth>750 ? 750 :docEl.clientWidth;
                        if (!clientWidth) {return};
                        docEl.style.fontSize = 100 * (clientWidth/750) + 'px';
                    };
            recalc();
            if (!doc.addEventListener) return;
            win.addEventListener(resizeEvt, recalc, false);
            doc.addEventListener('DOMContentLoaded', recalc, false);
        })(document,window)

 

上面是做适配的代码。改变html的font-size,更详细的rem用法在这里不作过多讲解,请网上搜一下(建议基础值设置大一点可以避免因为精度丢失引起的布局错乱,上面我设置的是100px)

2.第二种就是使用浏览器的缩放功能来做,

先按设计稿还原html,然后再设置viewport属性,

(function(){
    var W=750,w=parseInt(window.screen.width),s=w/W,u=navigator.userAgent.toLowerCase(),m='<meta name="viewport" content="width='+W+',';
    if(/android (\d+\.\d+)/.test(u)){
          if(parseFloat(RegExp.$1)>2.3)m+='minimum-scale='+s+',maximum-scale='+s+',';
    }else{
         m+='user-scalable=no,';
    }
   m+='target-densitydpi=device-dpi">';
document.write(m);
}());

 弊端:这种方法在PC端打开部分界面可能会变形,布局错乱,不太推荐这种方法

 

3.适应响应式布局来做,用媒体查询,具体的可以参考bootstrap,

  弊端:冗余代码较多,要做多个分辨率的适配,css代码写的较多。个人不太建议使用这种,除非用成熟的bootstrap框架节省一些工作量。

 

4.使用自适应百分比来布局,

   这种方法比较古老,做出来的界面在各个分辨率的适配上比较不好,例如一个div在分辨率为320*568是320px * 100px  在375 * 667 的分辨率显示就是 375px * 100px 效果不是等比拉升

 

 

 

 

 

个人建议使用第一种来做,完美适配任意终端,兼容性杠杠的

 

 

 

0
1
分享到:
评论

相关推荐

    H1074_html手机网站_网页源码移动端前端_H5模板_自适应响应式源码.zip

    下面,我们将从以下几个方面进行详细讲解: 1. **HTML5模板**:HTML5是超文本标记语言的最新版本,它引入了许多新特性,如语义化标签(如、、等)、离线存储、拖放功能、媒体元素等,这些都极大地提升了网页的交互...

    自定义 移动端 日历插件

    在移动端应用开发中,日历插件是一种常见且重要的组件,尤其对于日程管理、事件提醒等功能至关重要。本文将深入探讨如何实现一个可完全自定义的移动端日历插件,结合给定的“日历插件”和“自定义日历”标签,我们将...

    前端大厂最新面试题-alibaba (1).docx

    5. CSS垂直居中讲解了纯CSS实现垂直居中的几种方法。 6. 宽高比4:3自适应问题中,讲解了使用padding-top或padding-bottom的百分比值来实现宽高比4:3的自适应布局。 7. 讲解了如何让一个图片无限旋转,使用...

    【大牛说】聊聊前端那些事儿

    3. **第三阶段**:引入移动 Web 开发的相关知识,教授 viewport 的设置方法以及如何创建适配不同屏幕尺寸的布局。最后,让学生实践制作一个类似京东商城的移动端首页。 通过上述三个阶段的学习,不仅可以帮助学生...

    瀑布流视频讲解配套源码和数据库

    通过学习,你将了解到如何利用JavaScript(可能是jQuery或者其他库)来动态加载和排列元素,实现滚动时内容的无缝加载,以及如何根据不同设备的屏幕尺寸调整布局,实现良好的移动端适配。 对于源码部分,你将获得三...

    Sencha Touch in Action

    书中的标签"Sencha"指的是一种基于JavaScript的前端开发工具集,Sencha公司提供的主要产品包括Sencha Ext JS(针对PC端的JavaScript框架)、Sencha Touch(针对移动端的JavaScript框架)和Sencha Animator(一个...

    二维码插件

    4. 移动端适配:优化移动端的用户体验,使得手机用户可以更便捷地访问和参与论坛活动。 文件名为“xinlang_ewm”的压缩包可能是该二维码插件的安装包,其中可能包含以下文件: - `install.php`:安装脚本,用于在...

    移动指南

    其中可能包含了对CSS(Cascading Style Sheets)在移动设备上应用的深入讲解,旨在帮助开发者创建适应各种屏幕尺寸和设备类型的优秀移动页面。 CSS,作为样式表语言,用于描述HTML或XML(包括如SVG、MathML等各种...

    小程序开发1.zip

    微信小程序是一种轻量级的应用开发平台,主要针对移动端,由腾讯公司推出,旨在提供便捷的、无需下载安装即可使用的应用体验。"小程序开发1.zip"这个压缩包文件显然是为初学者设计的一份教学资源,帮助那些对小程序...

Global site tag (gtag.js) - Google Analytics