最近在一个项目中,测试同学提了一个bug,说手机上有个页面的某些字体显示偏大。就像这样

我用chrome浏览器在pc上测试了一下,发现pc上也有这个问题,但是用其它浏览器打开这个页面就没有发现这个问题。

于是,上网百度了一下,发现原来是chrome浏览器的问题。

通过各种百度Google然后我总结了一下这个问题产生的原因:

chrome浏览器目前支持的最小的字体大小为12px,而我在html根元素上设置font-size:62.5%,计算之后就是10px,1rem=10px。

由于我页面字体大小都是按照10px的基数去算的,所以当chrome浏览器计算字体大小时就出现了出错。

解决方案:

又经过一番百度Google之后,总结了一下这种问题的解决方法。

网上提供的两种最多的解决方案就是

1、js方法

<script type="text/javascript">
document.body.style.fontSize = '1.6rem';
</script>

具体的字号根据你的项目来决定

2、css方法

<style>
body {
font-size: 1.6rem;
}
</style>

将这个样式插入到head标签里面

这两种方式我都试用了,但是并没有效果,我也不清楚是怎么回事,如果有大神知道,还望不吝赐教。

所以,目前我认为最根本的解决方法就是,将html根元素的font-size大小设置为大于等于12px。

一些疑惑:

1、当1rem小于12px时,chrome是怎么计算的。

如上图所示,我的html根元素的font-size设置为62.5%(10px),图中字体计算的时候并不是25px,而是28.5941px,这个数是怎么来的,如果按照最小12px来算应该是30px才对啊。

2、为啥有的字体计算正确,有的出错。

如上图所示,同样设置为2.5rem的字体,有的能正确计算出是25px,有的却不行,这是怎么回事呢?

希望了解其中缘由的人能不吝赐教。

探究为何rem在chrome浏览器上计算出错的更多相关文章

  1. 将firebug安装在chrome浏览器上

    一直很喜欢火狐浏览器,原因是火狐的插件很喜欢,几天突然发现firebug这个插件能够安装在chrome浏览器上,震惊,更震惊的是这个好似已经很长时间了,而我猜发现. 具体的具体页面地址是 http:/ ...

  2. 利用ChromeCROSS可以在chrome浏览器上调试跨域代码

    利用ChromeCROSS可以在chrome浏览器上调试跨域代码 1.下载ChromeCROSS文件,可百度下载,或者在我的百度云上下载:链接: https://pan.baidu.com/s/10_ ...

  3. (二)Fiddler抓取Firefox、Chrome浏览器上的https协议

    Fiddler抓取Firefox.Chrome浏览器上的https协议 安装Fiddler后默认只抓取http协议,如果是https协议的话,浏览器就会提示"您的链接并不安全". ...

  4. [Selenium] 如何在老版本的Chrome 浏览器上使用selenium

    由于Chrome Driver 只兼容Chrome  浏览器12.0.712.0 和之后的新版本,会因此如果要在老版本的Chrome  浏览器上使用Selenium, 则只能使用 SeleniumRC ...

  5. Flex在Win10,Chrome浏览器上汉字乱码的问题

    今天遇到一个超级郁闷的问题,之前好好的程序.但是因为客户升级了客户端操作系统.由Win7升级到Win10,就出现乱码了. 找了好多原因和办法都没解决. (1)IE浏览器正常 (2)Win7,Windo ...

  6. 解决Shockwave flash在chrome浏览器上崩溃的问题

    越来越多的人開始使用chrome浏览器,非常多用户都遇到过flash崩溃的问题,有时候重新启动chrome能够解决,有时候会导致无法用chrome打开不论什么站点上的不论什么flash.这个问题非常少 ...

  7. [转载]为什么有些MP4文件在Chrome浏览器上播放不了?

    http://blog.sina.com.cn/s/blog_6bb7ebcc0101c2ja.html Chrome浏览器支持HTML5,它支持原生播放部分的MP4格式(不用通过Flash等插件). ...

  8. 怎样在Chrome浏览器上安装 Vue Devtools 扩展程序

    第一步: 前往 GitHub 下载 Vue Devtools 项目文件 https://github.com/vuejs/vue-devtools 注意: 1. 将分支切换为 master 2. 下载 ...

  9. 在google chrome浏览器上安装 Vue Devtools工具

    [转]https://www.cnblogs.com/tanyongli/p/7554045.html Vue.js devtools是基于google chrome浏览器的一款调试vue.js应用的 ...

随机推荐

  1. c# label的内容显示不全

    c# label的内容显示不全.须要设置例如以下属性就可以: 1.将Lable的font属性的字体改成宋体: 2.将AutoSize属性改成true: 然后内容就能够显示所有了.

  2. php递归无限极分类

    递归无限级分类有几种形式,我这里仅仅举例比較经常使用的三种: 第一种:返回有排序的数组: <?php $data = array( 1 => array( 'id' => 1, 'p ...

  3. C#_Ajax分页MVCPager

    UCJqOrderList @model PagedList<Order> <div id="dvOrders"> <table width=&quo ...

  4. 使用urllib进行网页爬取

    # coding=gbk # 抓取开奖号码 # url:http://datachart.500.com/dlt/zoushi/jbzs_foreback.shtml ''' 对网页逐行迭代,找到目标 ...

  5. HP服务器RAID配置

    公司服务器硬盘空间不够了(HP的服务器),购买了10块硬盘,由于之前没有做过RAID,感觉很高大上的样子,就请教了HP的技术人员,技术人员发了两份文档,分别是DL380G7(DL580G7)和DL38 ...

  6. 【Objective-C】2.自定义构造方法和description方法

    1.Student.h 1 #import <Foundation/Foundation.h> 2 3 @interface Student : NSObject { 4 int _age ...

  7. JavaScript高级程序设计(第三版)学习笔记6、7章

    第6章,面向对象的程序设计 对象: 1.数据属性 configurable,表示能否通过delete删除属性从而重新定义属性,能否修改属性的特性,或能否把属性修改为访问器属性,默认为true ‚en ...

  8. CSS 수직 가운데 정렬 (테이블 없이!) Vertical Centering with CSS

    이 방법은 테이블처럼 만들어서 테이블의 vertical-align 속성을 사용할 수 있도록 를 몇 개 세팅한다. (테이블의 vertical-align 속성은 다른 요소들에서는 굉장 ...

  9. 预算oracle

    select * from ( )) CODE_VERSION from ( SELECT tb_cube_fc05.pk_entity pk_org,/*主体pk*/ org_orgs.code o ...

  10. scala学习笔记:高阶函数

    scala> def power(y:Double)=(x:Double)=>Math.pow(x,y) warning: there were 1 deprecation warning ...