
具体代码如下所示:
//设置根元素字体
var
win
=
window,
doc
=
document
function
setFontSize()
{
var
winWidth
=
$(window).width()
//750这个数字是根据你的设计图的实际大小来的,所以值具体根据设计图的大小
var
size
=
(winWidth
/
750)
*
100
doc.documentElement.style.fontSize
=
(size
<
100
?
size
:
100)
+
'px'
}
//这里我们给个定时器来实现页面加载完毕再进行字体设置
setTimeout(function()
{
//初始化
setFontSize()
},
100)
以上所述是小编给大家介绍的Js动态设置rem来实现移动端字体的自适应代码,希望对大家有所帮助,如果大家有任何疑问请给我留言,小编会及时回复大家的。在此也非常感谢大家对脚本之家网站的支持!
rem布局不是js部分。根据查询相关公开信息显示:rem布局,是一种CSS布局方法,与JavaScript部分无关。rem是指相对于根元素(html标签)字体大小来确定其他元素大小的单位,因此可以实现根据屏幕大小自适应调整元素大小的效果,使用rem布局的关键在于设置根元素字体大小,通常使用媒体查询和JavaScript等技术来动态计算适当的字体大小,但这并不意味着rem布局本身就是JavaScript部分。(font size of the root element)是指相对于根元素的字体大小的单位
目前,IE9+,Firefox、Chrome、Safari、Opera 的主流版本都支持了rem。即使浏览器不支持rem,就多写一个绝对单位的声明即可,浏览器会忽略用rem设定的字体大小。
(1)首先浏览器的默认字体大小是16px
(2)100%=16px => 6.25%=1px => 62.5%=10px,因为rem是相对于根元素,因此在css的html中全局声明font-size=62.5%,此时的1rem就等于10px,这样一来rem和px之间的换算就比较简单,使用起来更方便
(3)使用JS根据浏览器宽度(或浏览器可视区域宽度(clienWidth))动态设置html的大小
通过JS动态设置根元素的font-size,这样的好处是所有设备分辨率都能兼容适配,淘宝首页目前就是用的JS计算。如果不用JS也是可以做适配的,一般我们在做web app都会先统计自己网站有哪些主流的屏幕设备,然后去针对这些设备去做media query设置也可以实现适配,如:
(4)使用媒体查询设置根元素大小——rem和px在响应式中的应用对比,如:
(5)Rem自适应JS,现在也有封装好的JS供我们直接使用
(6)屏幕适配还有一种简单粗暴的做法,即设置viewport进行缩放
天猫web app的首页就采用过这种方式,以320宽度为基准,进行缩放,最大缩放为320*1.3 = 416,基本缩放到416都就可以兼容iphone6 plus的屏幕了,这个方法简单粗暴,又高效。
欢迎分享,转载请注明来源:内存溢出
微信扫一扫
支付宝扫一扫
评论列表(0条)