系统字体大小会影响软件字体大小吗
Posted
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了系统字体大小会影响软件字体大小吗相关的知识,希望对你有一定的参考价值。
这个不一定的,得分是什么类型的软件,举个例子,比如微信,手机上自带的浏览器,这种应该都是跟随系统的,所以说系统字体变化,那些软件里面应该就变跟着了,其他的就说不准了,其实微信也不一定,因为里面有设置字体的选项 参考技术A 部分软件会,详情请自己尝试,不过可以告诉你,一般像社交软件是肯定有影响的。这和系统的人性化有关。H5页面中字体大小动态配置
参考技术A html 元素是文档的根元素,对html设置了字体大小,其子元素会继承html字体的大小。不同的浏览器默认有的默认html的字体是16px,有的是14px。
同时浏览器字体的大小还会受到你自己在手机里配置的系统字体大小的影响。
这么多因素,如果只靠css里配置html字体大小,子元素基于html的rem是不能保证在不同的手机端适配的。
所以可以通过js动态来计算html应该配置多大的字体。
<script>
function htmlFontSize()
var h = Math.max(document.documentElement.clientHeight, window.innerHeight || 0);
var w = Math.max(document.documentElement.clientWidth, window.innerWidth || 0);
var width = w > h ? h : w;
width = width > 720 ? 720 : width;
var fz = ~~(width * 100000 / 36) / 10000/2;
document.getElementsByTagName("html")[0].style.cssText = 'font-size: ' + fz + "px";
var realfz = ~~(+window.getComputedStyle(document.getElementsByTagName("html")[0]).fontSize.replace('px', '') * 10000) / 10000;
if (fz !== realfz)
document.getElementsByTagName("html")[0].style.cssText = 'font-size: ' + fz * (fz / realfz) + "px";
htmlFontSize();
</script>
在js计算出html的字体大小以后,就可以在这个基础上配置各子元素的字体大小了。
html的字体大小设置为font-size100px原因:
htmlfont-size:100px;
h1font-size: 0.16rem;//100*0.16=16px
.ccfont-size:0.14rem;//14px
又为什么要把html的font-size设置成50px:
因为设备像素比有2的,还有3的,我们按照设备像素比是2的开发,如果htmlfont-size:50px;那么设计稿ui中得头部header的高度是86px:height:0.86rem.(即:50px*0.86rem=43px,那么到了设备像素比是2的设备上,header的高度就是86px)这样就省去了除以2的计算。
以上是关于系统字体大小会影响软件字体大小吗的主要内容,如果未能解决你的问题,请参考以下文章