HTML5技术

在网页中,rem与px的换算 - 明明如月moon

字号+ 作者:H5之家 来源:H5之家 2016-11-30 13:00 我要评论( )

rem 是指相对于根元素的字体大小的单位。简单的说它就是一个相对单位。 为什么web app要使用rem? 1、实现强大的屏幕适配布局: iphone6一下出了两款尺寸的手机,导致的移动端的屏幕种类更加的混乱,记得一两年前做web app有一种做法是以320宽度为标准去做适

 

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

为什么web app要使用rem?

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

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

例如流式布局的解决方案有不少弊端,它虽然可以让各种屏幕都适配,但是显示的效果极其的不好,因为只有几个尺寸的手机能够完美的显示出视觉设计师和交互最想要的效果,其他布局如:固定宽度,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;
})

 

 

 

1.本站遵循行业规范,任何转载的稿件都会明确标注作者和来源;2.本站的原创文章,请转载时务必注明文章作者和来源,不尊重原创的行为我们将追究责任;3.作者投稿可能会经我们编辑修改或补充。

相关文章
  • 自已开发完美的触摸屏网页版仿app弹窗型滚动列表选择器/日期选择器 - j.king

    自已开发完美的触摸屏网页版仿app弹窗型滚动列表选择器/日期选择器 -

    2016-10-30 15:00

  • UC 浏览器远程调试手机web网页记录 - 微笑阳光哈*_*

    UC 浏览器远程调试手机web网页记录 - 微笑阳光哈*_*

    2016-07-07 18:00

  • 网页打包安卓APP流程 - 无梦灬

    网页打包安卓APP流程 - 无梦灬

    2016-07-05 17:00

  • 手机浏览器页面点击不跳转 浏览器双击放大网页 解决 - 微笑阳光哈*_*

    手机浏览器页面点击不跳转 浏览器双击放大网页 解决 - 微笑阳光哈*_*

    2016-07-01 15:00

网友点评
C