移动端rem距离单位的使用

在做移动端开发的时候大家肯定会遇到适配问题,手机的屏幕大小有非常多的类别,使用传统的px距离单位已经无法满足我们的需要,于是rem便横空出世,他与百分比定位是比较像的,但是也是有一定的区别,在这里就跟大家分享一下rem的使用方法。

rem是一个相对单位,他的大小是可以根据你的计算来定的,比如说在我的移动端网页中rem与px的换算规则如下:

1rem = 100px

在UI给我的设计稿中是以750px的宽度为标准设计的,于是在我的移动端网页中就以750px为标准规定rem的换算规则,请看以下代码:

(function(doc, win) {
  var docEl = doc.documentElement,
  resizeEvt = "orientationchange" in window ? "orientationchange" : "resize",
  recalc = function() {
    var clientWidth = docEl.clientWidth;
    if (!clientWidth) return;
    if (clientWidth > 750) {
      docEl.style.fontSize = "100px"; // 修正一下大于750的字体大小为100px
    } else {
      docEl.style.fontSize = 100 * (clientWidth / 750) + "px";
    }
    /*
     * 100 -> html,body {  font-size:100px; }
     * 750 -> 此处以 iPhone6 两倍设计稿 宽度750px 布局页面
     * 根据具体情况改变这两个数值
     */
  };

if (!doc.addEventListener) return;
    win.addEventListener(resizeEvt, recalc, false);
    doc.addEventListener("DOMContentLoaded", recalc, false);
})(document, window);

大致原理就是监听window的resize,当浏览器窗口大小变化时就会触发我设置的函数,重新定义rem的换算规则,这样就可以对不同屏幕大小的距离单位进行适配。

原文地址:https://www.cnblogs.com/Jacob98/p/11491417.html

时间: 2024-10-15 16:06:07

移动端rem距离单位的使用的相关文章

移动端rem布局背景图片使用以及sprite雪碧图

现在移动端页面用rem布局已经是一大流派了,成熟的框架如淘宝的flexiable.js,墨尘写的更轻量级的hotcss.用rem作单位使得元素能够自适应后,还有一块需要关注的,那就是背景图片. rem布局 所谓rem布局就是指为文档的根节点<html>元素设置一个基准字体大小,然后所有的元素尺寸都以rem为单位来写.比如将<html>的字体设为100px,如果需要做一个100*200的元素,css如是写: div{ width: 1rem; height: 2rem; } 那么最终

浅谈移动端rem的用法

一 什么是rem? “font size of the root element 这是w3c的定义 也就是说是相对于根节点(html节点)的字体大小的单位. 目前主流的浏览器基本都支持rem这个单位,大部份的默认字体单位是16px. 图片摘自 http://caniuse.mojijs.com/Home/Html/item/key/rem/index.html  二 简单应用. 既然确定在各个主流浏览器都能食用的话,我们就放心大胆在移动端进行开发了. 举个例子说明 html{ font-size

移动端rem+dpr布局

最近在做一个移动端的项目,在摸索中发现了一种移动端的布局和字体自适应方法,在当下来说应该是最好的了!主要是针对跟我一样还在摸索当中的同学们!主要也为了记录一下我活着过... 最主要的是字体使用px,配合用data-dpr属性来区分不同dpr下的的大小.其他使用rem作为单位 div { width: 1rem; height: 0.4rem; font-size: 12px; // 默认写上dpr为1的fontSize } [data-dpr="2"] div { font-size:

关于 rem 作为单位设置大小

rem是相对长度单位.相对于根元素(即html元素)font-size计算值的倍数htm{font-size: 62.5%;}根元素(html)先设置一个font-size,一般情况下为了容易计算rem的值,会将根元素设置为62.5%,因为默认状态下,浏览器的默认文字大小为16px,16*0.625=10px,这样就有1rem=10px,用到数值就很容易计算. 这样设置的好处是便于处理响应式布局,只需要根据需要调整根元素的font-size就可以直接对所有rem相对单位的相关元素同时调整.浏览器

详解移动端rem变革

作者:侠名风 |  时间:2015-07-24 |  浏览:93 |  0 条评论 rem这是个低调的css单位,近一两年开始崭露头角,有许多同学对rem的评价不一,有的在尝试使用,有的在使用过程中遇到坑就弃用了.但是我对rem综合评价是用来做web app它绝对是最合适的人选之一. rem是什么? rem(font size of the root element)是指相对于根元素的字体大小的单位.简单的说它就是一个相对单位.看到 rem大家一定会想起em单位,em(font size of 

移动端rem

移动端内包括微信端: 设置meta标签达到视口的响应式. 通过rem作单位.来匹配不同型号的手机的适配. 微信端: 一般设视口为640px. 给html元素设置 font-size:40px: html 内部最大宽度元素最大为width:16rem或 max-width:16rem.这样其html内部元素最宽就是 640px;不会超过视口的宽度.就不会出现滚动条. 通过js 脚本在html head标签内部最少影响css 重排,重绘的位置.初始就加载这段脚本 写 来达到若是视口的宽度小于640的

第130天:移动端-rem布局

一.关于布局方案 当拿到设计师给的UI设计图,前端的首要任务就是布局和样式,相信这对于大部分前端工程师来说已经不是什么难题了.移动端的布局相对PC较为简单,关键在于对不同设备的适配.之前介绍了一篇关于移动端rem布局方案,这大致是网易H5的适配方案.不过实践中发现淘宝开源的可伸缩布局方案效果更好且更容易使用. 网易云的方案总结为:根据屏幕大小 / 750 = 所求字体 / 基准字体大小比值相等,动态调节html的font-size大小. 淘宝的方案总结为:根据设备设备像素比设置scale的值,保

Android有感(16):绝对布局AbsoluteLayout、常用距离单位

绝对布局AbsoluteLayout,继承自ViewGroup,子组件的大小.位置完全由开发者自己定义. 子组价可以指定如下两个属性: android:layout_x:指定子组件的X坐标 android:layout_y:指定子组件的Y坐标 Android常用的距离单位: 1. px(像素):每个px对应屏幕上的一个点. 2. dip或dp(device independent pixels,设备独立像素):一种基于屏幕密度的抽象单位. 在每英寸160点的显示器上,1dip=1px.但随着屏幕

距离单位与内外边距

在android开发中常用的距离单位有px.dp.sp px就是像素,如在480*800的分辨率的显示屏上,横排有480个小格子,竖排有800个小格子,每个格子代表一个像素点.分辨率越高,像素点越高,显示的内容也就越多 屏幕尺寸相同,但分辨率可能不同,因此dpi也可能不同,细腻程度也就不同了 dp = dip(Device Independent pixels) px = dp * (dpi/160) 在dpi为160的屏幕上:1dp = 1px sp:scaled pixels,通常用于指定字