rem单位

Rem

现如今移动端的尺寸大小多种导致也页面不能在各种屏幕上适配,许多网站之前主要采取(1)采用的流式布局:通过百分比来定义宽度来实现,但是高度大都是用px来固定住。

这就导致大屏幕的手机页面上宽度被拉的很长,高度很短。

(2)固定宽度做法:早期有些网站把页面设置成320的宽度,超出部分留白。大屏幕手机下留白会特别多,看起来页面会特别小,操作的按钮也很小。

(3)响应式做法:这种做法虽然能展现很好的效果,但大型企业的复杂性的网站在移动端用这种方法去做的话会增加工作量,维护性难。

(4)设置viewport进行缩放:天猫的web app的首页就是采用这种方式去做的,以320宽度为基准,进行缩放,最大缩放为320*1.3 = 416,基本缩放到416都就可以兼容iphone6 plus的屏幕了,这个方法简单粗暴,又高效。但它接下来要说的rem一样高效……

rem具体是怎么用的

_首先rem是根据根元素进行适配的,在网页中的根元素是html,所以我们可以通过设置html的font-size大小来控制rem的大小

例如:

(1)Html{

Font-size:20px;

}

.btn{

width:6rem;相当于=>width:120px(20*6)

height:3rem;相当于=>height:60px(20*3)

line-height:3rem;相当于=>line-height:60px (20*3)

font-size:1.2rem;相当于=>font-size:24px(20*1.2)

border-radius: 0.5rem;相当于=>border-radius: 10px(20*0.5)

}

按钮出来的效果:

如果我们再改变html的font-size的值,看看按钮发生上面变化:

(2)Html{

Font-size:40px;

}

看出我们只需要改变html的font-size的px值a;下面元素px大小就等于rem的数值*a;

我们只要改变html的font-size大小就可以等比缩放下面元素的大小

怎么计算出不同分辨率下font-size的值

假设设计师给的是以最左边蓝色的640px宽度,

页面是以640的宽度去切的,怎么计算不同宽度下font-site的值,大家看表格上面的数值变化应该能明白。举个例子:384/640 = 0.6,384是640的0.6倍,所以384页面宽度下的font-size也等于它的0.6倍,这时384的font-size就等于12px。在不同设备的宽度计算方式以此类推。

根元素htmlfont-size如何改变

方法(一)添加css3动态设置font-size大小

可以根据js去动态的计算font-size,这样的好处是所有设备分辨率都能兼容,淘宝首页目前就是用js计算,但其实不用JS我们也可以做适配,一般我们在做web app都会先统计自己网站有哪些主流的屏幕设备,然后去针对那些设备去做media

query设置也可以实现适配,例如下面这样:

html {

font-size : 20px;

}

@media only screen and (min-width: 401px){

html {

font-size: 25px !important;

}

}

@media only screen and (min-width: 428px){

html {

font-size: 26.75px !important;

}

}

@media only screen and (min-width: 481px){

html {

font-size: 30px !important;

}

}

@media only screen and (min-width: 569px){

html {

font-size: 35px !important;

}

}

@media only screen and (min-width: 641px){

html {

font-size: 40px !important;

}

}

上面的做的设置当然是不能所有设备全适配,但是用JS是可以实现全适配。方法如下

方法(二)添加js代码

var docWidth =

640;//640为标准的屏幕

var fontsize = 54;//字体大小

(function (doc, win) {

var docEl = doc.documentElement,

resizeEvt = 'orientationchange' in window ? 'orientationchange' : 'resize',

recalc = function () {

var clientWidth = docEl.clientWidth;

if (!clientWidth) return;

if (clientWidth >= docWidth ) {

docEl.style.fontSize =fontsize +'px';

} else {

docEl.style.fontSize = fontsize * (clientWidth / docWidth ) + 'px';

}

};

if (!doc.addEventListener) return;

win.addEventListener(resizeEvt, recalc, false);

doc.addEventListener('DOMContentLoaded', recalc, false);

})(document, window);

假设以640的宽度为例,字体大小为54px,自适应屏幕的大小rem的插件如上

方法(三)使用Flexible实现手淘H5页面的终端适配

目前Flexible会将视觉稿分成100(主要为了以后能更好的兼容vh和vw),而每一份被称为一个单位a。同时1rem单位被认定为10a。针对我们这份宽750px的视觉稿可以计算出:

1a=7.5px

1rem =75px

那么我们这个示例的稿子就分成了10a,也就是整个宽度为10rem,对应的font-size为75px:

这样一来,对于视觉稿上的元素尺寸换算,只需要原始的px值除以rem基准值即可。例如此例视觉稿中的图片,其尺寸是176px * 176px,转换成为2.346667rem * 2.346667rem。

为减少繁琐的px转换为rem的计算量,可在sublimeText3添加插件(附件提供的cssrem)

插件具体的安装方法:

(1)

工具栏中的preference-》Browse packages(点击进去)

将附件中的cssrem文件夹复制到packages里

重启sublimeText3

(2)设置px-rem的转换值

Preference-》packages settings

–》cssrem-》Settings-Default

在Settings-Default中的参数如下:

其中25的值就是px转换为rem的值(1rem=25px),可以根据不同的情况设置

设置完成后,当在css样式中输入时有以下提示:

最后编辑于
©著作权归作者所有,转载或内容合作请联系作者
  • 序言:七十年代末,一起剥皮案震惊了整个滨河市,随后出现的几起案子,更是在滨河造成了极大的恐慌,老刑警刘岩,带你破解...
    沈念sama阅读 212,816评论 6 492
  • 序言:滨河连续发生了三起死亡事件,死亡现场离奇诡异,居然都是意外死亡,警方通过查阅死者的电脑和手机,发现死者居然都...
    沈念sama阅读 90,729评论 3 385
  • 文/潘晓璐 我一进店门,熙熙楼的掌柜王于贵愁眉苦脸地迎上来,“玉大人,你说我怎么就摊上这事。” “怎么了?”我有些...
    开封第一讲书人阅读 158,300评论 0 348
  • 文/不坏的土叔 我叫张陵,是天一观的道长。 经常有香客问我,道长,这世上最难降的妖魔是什么? 我笑而不...
    开封第一讲书人阅读 56,780评论 1 285
  • 正文 为了忘掉前任,我火速办了婚礼,结果婚礼上,老公的妹妹穿的比我还像新娘。我一直安慰自己,他们只是感情好,可当我...
    茶点故事阅读 65,890评论 6 385
  • 文/花漫 我一把揭开白布。 她就那样静静地躺着,像睡着了一般。 火红的嫁衣衬着肌肤如雪。 梳的纹丝不乱的头发上,一...
    开封第一讲书人阅读 50,084评论 1 291
  • 那天,我揣着相机与录音,去河边找鬼。 笑死,一个胖子当着我的面吹牛,可吹牛的内容都是我干的。 我是一名探鬼主播,决...
    沈念sama阅读 39,151评论 3 410
  • 文/苍兰香墨 我猛地睁开眼,长吁一口气:“原来是场噩梦啊……” “哼!你这毒妇竟也来了?” 一声冷哼从身侧响起,我...
    开封第一讲书人阅读 37,912评论 0 268
  • 序言:老挝万荣一对情侣失踪,失踪者是张志新(化名)和其女友刘颖,没想到半个月后,有当地人在树林里发现了一具尸体,经...
    沈念sama阅读 44,355评论 1 303
  • 正文 独居荒郊野岭守林人离奇死亡,尸身上长有42处带血的脓包…… 初始之章·张勋 以下内容为张勋视角 年9月15日...
    茶点故事阅读 36,666评论 2 327
  • 正文 我和宋清朗相恋三年,在试婚纱的时候发现自己被绿了。 大学时的朋友给我发了我未婚夫和他白月光在一起吃饭的照片。...
    茶点故事阅读 38,809评论 1 341
  • 序言:一个原本活蹦乱跳的男人离奇死亡,死状恐怖,灵堂内的尸体忽然破棺而出,到底是诈尸还是另有隐情,我是刑警宁泽,带...
    沈念sama阅读 34,504评论 4 334
  • 正文 年R本政府宣布,位于F岛的核电站,受9级特大地震影响,放射性物质发生泄漏。R本人自食恶果不足惜,却给世界环境...
    茶点故事阅读 40,150评论 3 317
  • 文/蒙蒙 一、第九天 我趴在偏房一处隐蔽的房顶上张望。 院中可真热闹,春花似锦、人声如沸。这庄子的主人今日做“春日...
    开封第一讲书人阅读 30,882评论 0 21
  • 文/苍兰香墨 我抬头看了看天上的太阳。三九已至,却和暖如春,着一层夹袄步出监牢的瞬间,已是汗流浃背。 一阵脚步声响...
    开封第一讲书人阅读 32,121评论 1 267
  • 我被黑心中介骗来泰国打工, 没想到刚下飞机就差点儿被人妖公主榨干…… 1. 我叫王不留,地道东北人。 一个月前我还...
    沈念sama阅读 46,628评论 2 362
  • 正文 我出身青楼,却偏偏与公主长得像,于是被迫代替她去往敌国和亲。 传闻我的和亲对象是个残疾皇子,可洞房花烛夜当晚...
    茶点故事阅读 43,724评论 2 351

推荐阅读更多精彩内容