安卓4.0下rem显示不正常的问题

在项目中使用了rem为单位,结果在Oppo和4.0下某些浏览器rem工作不正常,font-size计算出来的px总是大于预期的值,因此加了个Hack

var docEl = doc.documentElement,    resizeEvt = ‘orientationchange‘ in window ? ‘orientationchange‘ : ‘resize‘,    recalc = function() {        var clientWidth = docEl.clientWidth;        if (!clientWidth) return;        docEl.style.fontSize = 100 * (clientWidth / 320) + ‘px‘;       correctPx()    };     // 校正    function correctPx(){      var docEl = document.documentElement;      var clientWidth = docEl.clientWidth;      if (!clientWidth) return;      var div = document.createElement(‘div‘);      div.style.width = ‘1.4rem‘;      div.style.height = ‘0‘;      document.body.appendChild(div);      var ideal = 140 * clientWidth / 320;      var rmd = (div.clientWidth / ideal);      if(rmd >1.2)        docEl.style.fontSize = 100 * (clientWidth / 320)/ rmd + ‘px‘;      document.body.removeChild(div);    }// Abort if browser does not support addEventListenerif (!doc.addEventListener) return;win.addEventListener(resizeEvt, recalc, false);doc.addEventListener(‘DOMContentLoaded‘, recalc, false);
时间: 2024-10-07 05:46:23

安卓4.0下rem显示不正常的问题的相关文章

Anroid5.0下webview显示本地图片

以前的时候,Android下webview显示本机图片可用ontent://+包名+路径的方式来实现,后来5.0后,安全协议提高了,不支持这种方式了,后来发现img标签可以是这样用,将本地图片转换为bitmap,再将bitmap转为Base64 public static String imgToBase64(Bitmap bitmap) { ByteArrayOutputStream out = null; try { out = new ByteArrayOutputStream(); bi

安卓6.0(棉花糖)新特性汇总

安卓6.0(棉花糖)新特性汇总 Android伴随着众多新特性和新功能,Android6.0(API level 23)在系统和API上都有着诸多的改变. 1.App Permissions(软件权限管理) 在安卓6.0里,应用许可提示可以自定义了.它允许对应用的权限进行高度管理,比如应用能否使用位置.相机.麦克风.通讯录等,这些都可以开放给开发者和用户. 作为开发者,当你的app的目标版本(target)为Android6.0(API 23)或更高时,请确保在运行时进行权限的检查和请求.其中,

关于安卓3.0以上的系统屏幕适配问题的一些心得

首先,关于dp,px,dpi 等这些老生常谈的单位就不做详细的介绍了.这些个单位的介绍百度一抓一大把. 再讲解我自己对安卓3.0以上屏幕适配问题的理解以前,先介绍一下谷歌对安卓开发屏幕适配提的一些建议 Using new size qualifiers The different resource configurations that you can specify based on the space available for your layout are summarized in t

还在期待安卓9.0吗?Android 10.0要来了

目前,美国 Google公司的 AndroidP (安卓9.0),已经正式全面推出有几个多月了.众多手机品牌厂商也都在积极的进行更新适配 Android 9.0 系统(修改UI界面也算是二次开发,嗯).不知道各位Android用户是否体验到了这一最新版本的系统呢? 但按照各大手机厂商的适配过程,目前这可能还只是少数用户的专属,而根据谷歌公布的统计数据显示,目前Android P的市场份额还不到5%,现阶段,三年前的Android 7.0和两年前的8.0才是主力. Android Q露出庐山真面目

安卓7.0以上手机使用charles代理抓取https数据

谷歌在安卓7.0修改了安全策略,用户添加的CA证书不能再用于安全连接,对于https传输的数据就抓取不到了,会显示<unknown>. 我的解决方法是将charles的CA证书安装进系统信任的证书目录下,这样在开启charles代理的时候,系统就会认为CA证书安全,从而可以获取https数据. 准备工作: 一台已root过的手机,我用的是小米5,开启开发者选项连接电脑. 下载charles证书,电脑端浏览器输入chls.pro/ssl即可下载,如果未下载也可以在charles>>h

【CNMP系列】CentOS7.0下安装Nginx服务

话步前言,CNMP之路,系统起步:http://www.cnblogs.com/riverdubu/p/6425028.html 这回我来讲解下CentOS7.0下如何安装和配置Nginx服务 Nginx的历史不在此赘述,轻量,快是它的特性.只是因为现在的模块没有达到apache的模块数量级,未来有超越apache的势头. 首先,我们要安装个必要的软件(上节提到过,可能有人并未安装) #yum install wget 因为Nginx以来与gcc的编译环境,所以,在mini centos中需要安

JFreechart在linux下不显示及中文乱码问题

一.使用JFreeChart建的报表,在window下能正常显示,但是放到linux下就报错,而且有时候会把tomcat挂掉, 原因是jfreechart的在linux系统中需要访问java awt库提供...... 一.使用JFreeChart建的报表,在window下能正常显示,但是放到linux下就报错,而且有时候会把tomcat挂掉,原因是jfreechart的在linux系统中需要访问java awt库提供的图形功能,而linux下的绝大多数版本的java awt类库都需要x serv

C++开发安卓、windows下搭建Android NDK开发环境

1. NDK(Native Development Kit) 1.1 NDK简介 Android NDK是一套允许开发人员使用本地代码(如C/C++)进行Android APP功能开发的工具,通过这个工具,我们可以把用C/C++代码编译成可以直接运行在Android平台上的本地代码,这些本地代码以动态链接库( *.so )的形式存在,也正因为这样,我们可以通过复用这些动态链接库从而复用本地代码. 那么,通过NDK这个开发工具包,那么我们是否可以将一个APK完全使用C/C++来编写呢? 答案是不可

Windows下VC++显示UTF-8编码中文

笔者在Windows下使用C++编写程序接收UTF8字符串会发生中文无法正常在console上显示的问题,故特来解决UTF8字符串如何在VC++上正常显示. 1.问题重现,UTF-8编码下的字符串“中文”在Windows下的显示如下图,其中上行为UTF8字符串,下行为GBK字符串: 2.方法:将UTF-8格式的代码变为GBK编码(需要Windows.h头文件) 1 string UTF8ToGBK(string &strUtf8) 2 { 3 string strOutGBK = "&q