手机端页面需要用rem设置字体大小的js代码
2016-01-08 11:18
656 查看
设置字体大小时使用是“px”为单位是比较方便,但在浏览器中放大或缩放浏览页面时会存在一个问题,就是字体不会随网页的大小而变化,这样比例就会失调,要解决这个问题,我们可以使用“em”单位。
这种技术需要一个参考点,一般都是以<body>的“font-size”为基准。比如说我们使用“1em”等于“10px”来改变默认值“1em=16px”,这样一来,我们设置字体大小相当于“14px”时,只需要将其值设置为“1.4em”。
为什么“li”的“1.4em”是不是“14px”将是一个问号呢?如果你了解过“em”后,你会觉得这个问题是多问的。在使用“em”作单位时,一定需要知道其父元素的设置,因为“em”就是一个相对值,而且是一个相对于父元素的值,其真正的计算公式是:
1
÷ 父元素的font-size × 需要转换的像素值 = em值
这样的情况下“1.4em”可以是“14px”,也可以是“20px”,或者说是“24px”,总之是一个不确定值,那么解决这样的问题,要么你知道其父元素的值,要么呢在任何子元素中都使用“1em”。这样一来可能又不是我们所需要的方法。
那么怎么用js设置我们要引用rem呢
document.getElementsByTagName_r("html")[0].style.fontSize = (document.documentElement.clientWidth || document.body.clientWidth)+"px";
rem可以用在pc端也可以用在手机端,手机端用rem比用px效果要好的多
这种技术需要一个参考点,一般都是以<body>的“font-size”为基准。比如说我们使用“1em”等于“10px”来改变默认值“1em=16px”,这样一来,我们设置字体大小相当于“14px”时,只需要将其值设置为“1.4em”。
为什么“li”的“1.4em”是不是“14px”将是一个问号呢?如果你了解过“em”后,你会觉得这个问题是多问的。在使用“em”作单位时,一定需要知道其父元素的设置,因为“em”就是一个相对值,而且是一个相对于父元素的值,其真正的计算公式是:
1
÷ 父元素的font-size × 需要转换的像素值 = em值
这样的情况下“1.4em”可以是“14px”,也可以是“20px”,或者说是“24px”,总之是一个不确定值,那么解决这样的问题,要么你知道其父元素的值,要么呢在任何子元素中都使用“1em”。这样一来可能又不是我们所需要的方法。
那么怎么用js设置我们要引用rem呢
document.getElementsByTagName_r("html")[0].style.fontSize = (document.documentElement.clientWidth || document.body.clientWidth)+"px";
rem可以用在pc端也可以用在手机端,手机端用rem比用px效果要好的多
相关文章推荐
- Android jar包里面有assets目录下有文件,APP的assets里面也有文件,如何读呢?
- ShareSDK微信支付成功不调用onResp、openURL、handleOpenURL等方法
- android studio系列之获取数字签名
- swift中Optional用法以及常问问题
- Android APK签名对比及说明
- Unity教程之-Unity3d中图片的灰度处理
- 解析Soapobject传递class
- iOS 中检测硬件和传感器
- Objective-C基础学习_@property的所有属性详解
- Android开发笔记之图片缓存、手势及OOM分析
- iOS 项目集成支付宝SDK的经典错误
- 解决AS打开设置窗口时卡顿的问题
- Android FrameLayout(帧布局)
- OS开发(Objective-C)常用库索引
- iOS 各类传感器
- Android 通过 Wifi 调试 Debug (Android Studio)
- Android Studio 上Bad 'Patches' in 9-Patch和not found file *.9.png的问题
- Android WebView(转三):Android控件WebView显示网页
- Android 签名证书
- Android WebView(转二):Android WebView使用深入浅出