jquery rem 转换【转载】

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;
})

时间: 2024-11-05 20:44:36

jquery rem 转换【转载】的相关文章

Rem与Px的转换[转载]

原文:http://www.w3cplus.com/preprocessor/sass-px-to-rem-with-mixin-and-function.html rem是CSS3中新增加的一个单位值,他和em单位一样,都是一个相对单位.不同的是em是相对于元素的父元素的font-size进行计算:rem是相对于根元素html的font-size进行计算.这样一来rem就绕开了复杂的层级关系,实现了类似于em单位的功能. Rem的使用 前面说了em是相对于其父元素来设置字体大小的,这样就会存在

dom与jquery互相转换

1 /*取得<input>标签中的value属性的内容[dom对象->jquery对象] 2 var inputElement = document.getElementById("inputID");//DOM对象 3 var $input = $(inputElement);//jQuery对象 4 var value = $input.val(); 5 alert(value); 6 */ 7 8 /*取得<div>标签中的文本内容[jquery对象

20170907笔记:JS对象&amp;jQuery对象转换

JS对象转到jQuery对象 // JS与jQuery对象互转 // JS获取对象 var obj = document.getElementById('id'); // 把JS对象转换到jQuery对象 var $obj = $(obj); jQuery对象转到JS对象 // JS与jQuery对象互转 // jQuery获取对象 var $obj = $('#id'); // jQuery对象转换到JS对象 var obj = $obj.get(0);

ArcGIS中的坐标系定义与转换 (转载)

原文:ArcGIS中的坐标系定义与转换 (转载) 1.基准面概念:  GIS中的坐标系定义由基准面和地图投影两组参数确定,而基准面的定义则由特定椭球体及其对应的转换参数确定,因此欲正确定义GIS系统坐标系,首先必须弄清地球椭球体(Ellipsoid).大地基准面(Datum)及地图投影(Projection)三者的基本概念及它们之间的关系.   基准面是利用特定椭球体对特定地区地球表面的逼近,因此每个国家或地区均有各自的基准面,我们通常称谓的北京54坐标系.西安80坐标系实际上指的是我国的两个大

Web开发者必备的20款超赞jQuery插件(转载)

jQuery的易扩展性吸引了来自全球的开发者来共同编写jQuery插件.jQuery插件不仅能够增强网站的可用性,有效地改善用户体验,还可以大大减少开发时间.现在的jQuery插件很多,可以根据您的项目需要来选择.这里为您介绍20款非常不错的插件. Creative Radical Web Typography Lettering.js是一个轻量经的.易于使用的jQuery插件,可创造出极具个性的网页排版,是2010年最佳jQuery插件之一. 演示 | 下载 New FancyMoves Jq

Web前端的35个jQuery小技巧-转载

原文:http://www.cnblogs.com/zengzhaoguang/archive/2016/05/24/5524036.html 1. 禁止右键点击$(document).ready(function(){    $(document).bind("contextmenu",function(e){        return false;    });}); 2. 隐藏搜索文本框文字Hide when clicked in the search field, the v

byte[]数组与十六进制字符串与字符串的互相转换 ——转载

字符串转换成十六进制字符串方法1: /**      * 字符串转换成十六进制字符串     */      public static String str2HexStr(String str) {          char[] chars = "0123456789ABCDEF".toCharArray();          StringBuilder sb = new StringBuilder("");        byte[] bs = str.ge

jQuery最佳实践(转载)

本文转载于阮一峰的博文. 上周,我整理了<jQuery设计思想>. 那篇文章是一篇入门教程,从设计思想的角度,讲解“怎么使用jQuery”.今天的文章则是更进一步,讲解“如何用好jQuery”. 我主要参考了Addy Osmani的PPT<提高jQuery性能的诀窍>(jQuery Proven Performance Tips And Tricks).他是jQuery开发团队的成员,具有一定的权威性,提出的结论都有测试数据支持,非常有价值. 1. 使用最新版本的jQuery jQ

jquery 金额转换成大写

<script language="javascript" type="text/javascript">         function Arabia_to_Chinese(Num) {             for (i = Num.length - 1; i >= 0; i--) {                 Num = Num.replace(",", "")//替换tomoney()中的“