在网页中,rem与px的换算

随着手机屏幕尺寸的多样化,采用REM单位可以实现更灵活的屏幕适配布局。REM单位相对于根元素字体大小,可等比例适配各种屏幕,解决了EM单位在复杂嵌套结构中的计算难题,并且在页面缩放时保持字体清晰。

 

rem 是指相对于根元素的字体大小的单位。简单的说它就是一个相对单位。

为什么web app要使用rem?

1、实现强大的屏幕适配布局:

  iphone6一下出了两款尺寸的手机,导致的移动端的屏幕种类更加的混乱,记得一两年前做web app有一种做法是以320宽度为标准去做适配,超过320的大小还是以320的规格去展示,这种实现方式以淘宝web app为代表作,但是近期手机淘宝首页进行了改版,采用了rem这个单位,首页以内依旧是和以前一样各种混乱,有定死宽度的页面,也有那种流式布局的页面。

  我们现在在切页面布局的使用常用的单位是px,这是一个绝对单位,web app的屏幕适配有很多中做法,例如:流式布局、限死宽度,还有就是通过响应式来做,但是这些方案都不是最佳的解决方法。

  例如流式布局的解决方案有不少弊端,它虽然可以让各种屏幕都适配,但是显示的效果极其的不好,因为只有几个尺寸的手机能够完美的显示出视觉设计师和交互最想要的效果,其他布局如:固定宽度,viewport等都有相对缺陷。

  rem能等比例适配所有屏幕

  上面说过rem是通过根元素进行适配的,网页中的根元素指的是html我们通过设置html的字体大小就可以控制rem的大小。

2、没有屏幕字体缩放问题:

  px像素会在某些浏览器设置页面缩放比的情况下,下字体不按比例缩放。rem是相对大小,没有这种问题

3、没有em多次使用计算麻烦的问题:

  em是相对于父元素的大小,当层级较多,需要使用时,容易遇到无法预知的风险,也麻烦,而rem统一相对根元素,没有这种弊端。

 

以下便是我在网页中对于rem和px进行转换时用到的js:

当然在引入此处js的时候还需要把jQuery类库引入进去...

$(function(){
  var a=document.body.clientWidth;
  // 获取当前可视区域的宽度

  var b = a / 750;
  // ios的宽度为750

  var c = b * 6.25;
  // 默认html为16px,62.5%就是10px

  var d = c * 100 + "%";
  document.getElementById("html").style.fontSize = d;
})

 

 

转载于:https://www.cnblogs.com/zzmoon/p/6101765.html

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值