博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
jquery rem 转换【转载】
阅读量:6769 次
发布时间:2019-06-26

本文共 1022 字,大约阅读时间需要 3 分钟。

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/zz334396884/p/6893693.html

你可能感兴趣的文章
XenServer安装最佳实践
查看>>
C语言基础学习2:字符数组
查看>>
《C#线程参考手册》读书笔记(二):.NET中的线程
查看>>
数据结构7_链二叉树
查看>>
Android Studio中多项目共享Library
查看>>
用java的io流,将一个文本框的内容反转
查看>>
12.1动态内存与智能指针
查看>>
opencv 模块
查看>>
第三周作业
查看>>
Codeforces 791A Bear and Big Brother(暴力枚举,模拟)
查看>>
开源模式
查看>>
P2708 硬币翻转(简单模拟)
查看>>
几种TCP连接终止
查看>>
Django中的Form表单
查看>>
Android沉浸式(侵入式)标题栏(状态栏)Status(二)
查看>>
Mac 下 Chrome 快捷键大全
查看>>
JS运动从入门到精髓!哈哈
查看>>
HDU1874畅通工程续(floyd||dijkstra)
查看>>
数据分析--布林带策略(择时)
查看>>
二十年后的回眸(6)——中途夭折的初次创业
查看>>