关于手机端适配的问题(rem,页面缩放)

96 进击的小前端 关注

2018.02.02 13:57 字数 320 阅读 19评论 0喜欢 0

相信很多和会和我碰到一样的情况,就是你用rem去写移动端的时候,如果想引用别的UI库的时候,自己页面写的是rem单位,而ui库的css里面写的是px,大家都知道,rem是在html上设置font-size 字体大小。然后,,然后ui库的里面的px 会和 rem冲突,很麻烦,搜了很多办法都没找到好的解决办法!!!

rem的做法

(function() {

var doc = document,

win = window;

var docEl = doc.documentElement,

resizeEvt = 'orientationchange' in window ? 'orientationchange' : 'resize',

recalc = function() {

var clientWidth = docEl.clientWidth;

if(!clientWidth) return;

//如果屏幕大于750(750是根据我效果图设置的,具体数值参考效果图),就设置clientWidth=750,防止font-size会超过100px

if(clientWidth > 750) { clientWidth = 750 }

//设置根元素font-size大小

docEl.style.fontSize = 100 * (clientWidth / 750) + 'px';

};

//屏幕大小改变,或者横竖屏切换时,触发函数

win.addEventListener(resizeEvt, recalc, false);

//文档加载完成时,触发函数

doc.addEventListener('DOMContentLoaded', recalc, false);

})();

本人在看帖子的时候,看到一个淘宝缩放页面的方法,亲测,效果不错,直接用px单位写,根据meta标签进行缩放。这样如果想引用ui库的css 就不会冲突了,嗯不错不错。

附上缩放代码

但是。。。但是。如果做app套浏览器壳的话,是不允许你使用meta标签缩放的。

网易的做法是用css进行缩放。具体做法如下:

html

123

css

/* css reset from normalize*/

    html {

        /* 1 */
-ms-text-size-adjust: 100%;
/* 2 */
-webkit-text-size-adjust: 100%;
/* 2 */
} body {
margin: 0;
} /* 上下拉动滚动条时卡顿、慢 */ body {
-webkit-overflow-scrolling: touch;
overflow-scrolling: touch;
} /* ios和android下触摸元素时出现半透明灰色遮罩 */ a {
-webkit-tap-highlight-color: rgba(255, 255, 255, 0);
} #getHeight {
height: 100vh;
width: 100vw;
position: absolute;
top: 0;
left: 0;
z-index: -10;
} #content {
width: 750px;
transform-origin: 0 0;
font-size: 36px;
} #content {
height: 100%;
}

js

这样方法的好处就是用css进行缩放,在做app的时候也是没有问题的,缺点,就是代码比较多。

不喜勿喷。谢谢!!!

关于手机端适配的问题(rem,页面缩放)的更多相关文章

  1. 70.JS---利用原生js做手机端网页自适应解决方案rem布局

    利用原生js做手机端网页自适应解决方案rem布局 刚开始我用的是下面这段代码,然后js通过外部链接引入,最后每次用手机刷新网页的时候都会出现缩略图 function getRem(pwidth, pr ...

  2. 【学习】如何制作手机端html模板(REM的实际应用)

    以前制作手机页面时,总是很迷茫,不知从何着手,页面也不知如何处理.会用一些百分比啊,媒体查询啊,还有就是目测了,但是各种手机端的屏幕适配是个老大难的问题,没有做到百分百兼容的.自从发现了rem这个好东 ...

  3. PHP项目实现手机端和PC端的页面切换

    目前访问页面的要切换成手机端和PC端,原理是通过对设备作出判断,显示不同的功能和页面. 如果手机端和PC端的功能结构不相同,一般会写两套系统,一套适用于PC端,一套适用于手机端. 如果功能相同,则只需 ...

  4. 移动端适配,h5网页,手机端适配兼容方案.可以显示真实的1px边框和12px字体大小,dpr浅析

    以前写移动端都是用这段JS解决. (function (doc, win) { // 分辨率Resolution适配 var docEl = doc.documentElement, resizeEv ...

  5. h5 手机端适配问题汇总

    1.uc手机浏览器竟然没有 sessionstorage 醉了 2.opera 浏览器  能识别 a标签中href的  javascript:; 为网址  ,  55555 3.safari 的弹框如 ...

  6. rem手机端适配

    <script> document.documentElement.style.fontSize=document.documentElement.clientWidth*100/750+ ...

  7. 手机端适配rem代码片段

    <!DOCTYPE html> <html lang="en"> <head> <meta charset="UTF-8&quo ...

  8. 手机端适配iPhoneX

    iPhoneX取消了物理按键,改成底部小黑条,这一改动导致网页出现比较尴尬的屏幕适配问题.对于网页而言,顶部(刘海部位)的适配问题浏览器已经做了处理,所以我们只需要关注底部与小黑条的适配问题即可(即常 ...

  9. 手机端适配方案 媒体查询和flexbale

    方法一 flexible 一.npm 包安装 lib-flexible 淘宝适配方案 px2rem px自动转rem npm install lib-flexible --save npm insta ...

随机推荐

  1. day1 计算机组成、操作系统

    一:编程与编程的目的 1.什么是语言?什么是编程语言? 语言是一个事物与另一个事物沟通的介质. 编程语言是程序员与计算机沟通的介质. 2.什么是编程?为什么要编程? 编程是程序员将自己想要让计算机做的 ...

  2. scipy 安装错误及解决

    pip 安装 scipy 时,因为是编译安装,所以如果缺少一些编译库,会报很多错误,以下总结可能缺失的安装包: sudo apt-get install gfortran sudo apt-get i ...

  3. C语言之建立线性表

    #include<stdio.h> #include<stdlib.h> #define MaxSize 60 #define ElemType int typedef str ...

  4. ModelViewSet 路由 / django logging配置 / django-debug-toolbar使用

    一.ModelViewSet 路由 因为我们正在使用ViewSet代替View,实际上已经不再需要自己来设计URL的配置了.将资源和视图.URL绑定到一起是一个可以自动完成的过程,只需要使用Route ...

  5. IDEA的Maxcomputer Studio开发

    一.安装 在IDEA中File > Settings > Plugins中Browse repositories搜索安装即可:MaxCompute Studio 二.开发UDF.UDAF. ...

  6. 【commons】时间日期工具类——commons-lang3-time

    推荐参考:http://www.cnblogs.com/java-class/p/4845962.html https://blog.csdn.net/yihaoawang/article/detai ...

  7. 蓝牙BLE设备主机重启回连流程分析

    如果一个BLE设备已经与蓝牙中心设备连接上,那么当中心设备的断电重启,其依然会和配对过的BLE设备连接上,而不需要重新走配对的流程,这个过程叫做回连. 这篇文章就分析一下当中心设备断电重启之后,其与B ...

  8. SpringBoot整合Shiro使用Ehcache等缓存无效问题

    前言 整合有缓存.事务的spring boot项目一切正常. 在该项目上整合shiro安全框架,发现部分类的缓存Cache不能正常使用. 然后发现该类的注解基本失效,包括事务Transaction注解 ...

  9. WPF仿网易云音乐系列(二、歌单创建窗口+登录设置模块)

    老衲牺牲午休时间写博客,都快把自己感动了,-_-!! 之前上一篇随笔,我看了下评论,有部分人说WPF已经凉凉了,这个我觉得,这只是一个达到自己目的的工具而已,只要自己能用这个工具,得心应手的做出自己想 ...

  10. 【开源】小程序、小游戏和Web运动引擎 to2to 发布

    简单轻量跨平台的 Javascript 运动引擎 Github → https://github.com/dntzhang/cax/tree/master/packages/to Simple DEM ...