rem單位

Rem

現(xiàn)如今移動(dòng)端的尺寸大小多種導(dǎo)致也頁(yè)面不能在各種屏幕上適配奕扣,許多網(wǎng)站之前主要采取(1)采用的流式布局:通過(guò)百分比來(lái)定義寬度來(lái)實(shí)現(xiàn)谆沃,但是高度大都是用px來(lái)固定住游盲。

這就導(dǎo)致大屏幕的手機(jī)頁(yè)面上寬度被拉的很長(zhǎng),高度很短痹兜。

(2)固定寬度做法:早期有些網(wǎng)站把頁(yè)面設(shè)置成320的寬度穆咐,超出部分留白。大屏幕手機(jī)下留白會(huì)特別多,看起來(lái)頁(yè)面會(huì)特別小对湃,操作的按鈕也很小崖叫。

(3)響應(yīng)式做法:這種做法雖然能展現(xiàn)很好的效果,但大型企業(yè)的復(fù)雜性的網(wǎng)站在移動(dòng)端用這種方法去做的話(huà)會(huì)增加工作量拍柒,維護(hù)性難归露。

(4)設(shè)置viewport進(jìn)行縮放:天貓的web app的首頁(yè)就是采用這種方式去做的,以320寬度為基準(zhǔn)斤儿,進(jìn)行縮放剧包,最大縮放為320*1.3 = 416,基本縮放到416都就可以兼容iphone6 plus的屏幕了往果,這個(gè)方法簡(jiǎn)單粗暴疆液,又高效。但它接下來(lái)要說(shuō)的rem一樣高效……

rem具體是怎么用的

_首先rem是根據(jù)根元素進(jìn)行適配的陕贮,在網(wǎng)頁(yè)中的根元素是html堕油,所以我們可以通過(guò)設(shè)置html的font-size大小來(lái)控制rem的大小

例如:

(1)Html{

Font-size:20px;

}

.btn{

width:6rem;相當(dāng)于=>width:120px(20*6)

height:3rem;相當(dāng)于=>height:60px(20*3)

line-height:3rem;相當(dāng)于=>line-height:60px (20*3)

font-size:1.2rem;相當(dāng)于=>font-size:24px(20*1.2)

border-radius: 0.5rem;相當(dāng)于=>border-radius: 10px(20*0.5)

}

按鈕出來(lái)的效果:

如果我們?cè)俑淖僪tml的font-size的值,看看按鈕發(fā)生上面變化:

(2)Html{

Font-size:40px;

}

看出我們只需要改變html的font-size的px值a肮之;下面元素px大小就等于rem的數(shù)值*a掉缺;

我們只要改變html的font-size大小就可以等比縮放下面元素的大小

怎么計(jì)算出不同分辨率下font-size的值

假設(shè)設(shè)計(jì)師給的是以最左邊藍(lán)色的640px寬度,

頁(yè)面是以640的寬度去切的戈擒,怎么計(jì)算不同寬度下font-site的值眶明,大家看表格上面的數(shù)值變化應(yīng)該能明白。舉個(gè)例子:384/640 = 0.6筐高,384是640的0.6倍搜囱,所以384頁(yè)面寬度下的font-size也等于它的0.6倍,這時(shí)384的font-size就等于12px柑土。在不同設(shè)備的寬度計(jì)算方式以此類(lèi)推蜀肘。

根元素htmlfont-size如何改變

方法(一)添加css3動(dòng)態(tài)設(shè)置font-size大小

可以根據(jù)js去動(dòng)態(tài)的計(jì)算font-size,這樣的好處是所有設(shè)備分辨率都能兼容稽屏,淘寶首頁(yè)目前就是用js計(jì)算扮宠,但其實(shí)不用JS我們也可以做適配,一般我們?cè)谧鰓eb app都會(huì)先統(tǒng)計(jì)自己網(wǎng)站有哪些主流的屏幕設(shè)備狐榔,然后去針對(duì)那些設(shè)備去做media

query設(shè)置也可以實(shí)現(xiàn)適配坛增,例如下面這樣:

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;

}

}

上面的做的設(shè)置當(dāng)然是不能所有設(shè)備全適配,但是用JS是可以實(shí)現(xiàn)全適配荒叼。方法如下

方法(二)添加js代碼

var docWidth =

640;//640為標(biāo)準(zhǔn)的屏幕

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

假設(shè)以640的寬度為例轿偎,字體大小為54px,自適應(yīng)屏幕的大小rem的插件如上

方法(三)使用Flexible實(shí)現(xiàn)手淘H5頁(yè)面的終端適配

目前Flexible會(huì)將視覺(jué)稿分成100(主要為了以后能更好的兼容vh和vw),而每一份被稱(chēng)為一個(gè)單位a。同時(shí)1rem單位被認(rèn)定為10a蔗草。針對(duì)我們這份寬750px的視覺(jué)稿可以計(jì)算出:

1a=7.5px

1rem =75px

那么我們這個(gè)示例的稿子就分成了10a涩馆,也就是整個(gè)寬度為10rem叨咖,對(duì)應(yīng)的font-size為75px:

這樣一來(lái)菲饼,對(duì)于視覺(jué)稿上的元素尺寸換算炫掐,只需要原始的px值除以rem基準(zhǔn)值即可盲镶。例如此例視覺(jué)稿中的圖片仓蛆,其尺寸是176px * 176px,轉(zhuǎn)換成為2.346667rem * 2.346667rem睁冬。

為減少繁瑣的px轉(zhuǎn)換為rem的計(jì)算量,可在sublimeText3添加插件(附件提供的cssrem)

插件具體的安裝方法:

(1)

工具欄中的preference-》Browse packages(點(diǎn)擊進(jìn)去)

將附件中的cssrem文件夾復(fù)制到packages里

重啟sublimeText3

(2)設(shè)置px-rem的轉(zhuǎn)換值

Preference-》packages settings

–》cssrem-》Settings-Default

在Settings-Default中的參數(shù)如下:

其中25的值就是px轉(zhuǎn)換為rem的值(1rem=25px),可以根據(jù)不同的情況設(shè)置

設(shè)置完成后看疙,當(dāng)在css樣式中輸入時(shí)有以下提示:

最后編輯于
?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請(qǐng)聯(lián)系作者
  • 序言:七十年代末豆拨,一起剝皮案震驚了整個(gè)濱河市,隨后出現(xiàn)的幾起案子能庆,更是在濱河造成了極大的恐慌施禾,老刑警劉巖,帶你破解...
    沈念sama閱讀 212,718評(píng)論 6 492
  • 序言:濱河連續(xù)發(fā)生了三起死亡事件搁胆,死亡現(xiàn)場(chǎng)離奇詭異弥搞,居然都是意外死亡,警方通過(guò)查閱死者的電腦和手機(jī)渠旁,發(fā)現(xiàn)死者居然都...
    沈念sama閱讀 90,683評(píng)論 3 385
  • 文/潘曉璐 我一進(jìn)店門(mén)攀例,熙熙樓的掌柜王于貴愁眉苦臉地迎上來(lái),“玉大人顾腊,你說(shuō)我怎么就攤上這事粤铭。” “怎么了投慈?”我有些...
    開(kāi)封第一講書(shū)人閱讀 158,207評(píng)論 0 348
  • 文/不壞的土叔 我叫張陵承耿,是天一觀的道長(zhǎng)。 經(jīng)常有香客問(wèn)我伪煤,道長(zhǎng),這世上最難降的妖魔是什么凛辣? 我笑而不...
    開(kāi)封第一講書(shū)人閱讀 56,755評(píng)論 1 284
  • 正文 為了忘掉前任抱既,我火速辦了婚禮,結(jié)果婚禮上扁誓,老公的妹妹穿的比我還像新娘防泵。我一直安慰自己,他們只是感情好蝗敢,可當(dāng)我...
    茶點(diǎn)故事閱讀 65,862評(píng)論 6 386
  • 文/花漫 我一把揭開(kāi)白布捷泞。 她就那樣靜靜地躺著,像睡著了一般寿谴。 火紅的嫁衣襯著肌膚如雪锁右。 梳的紋絲不亂的頭發(fā)上,一...
    開(kāi)封第一講書(shū)人閱讀 50,050評(píng)論 1 291
  • 那天,我揣著相機(jī)與錄音咏瑟,去河邊找鬼拂到。 笑死,一個(gè)胖子當(dāng)著我的面吹牛码泞,可吹牛的內(nèi)容都是我干的兄旬。 我是一名探鬼主播,決...
    沈念sama閱讀 39,136評(píng)論 3 410
  • 文/蒼蘭香墨 我猛地睜開(kāi)眼余寥,長(zhǎng)吁一口氣:“原來(lái)是場(chǎng)噩夢(mèng)啊……” “哼领铐!你這毒婦竟也來(lái)了?” 一聲冷哼從身側(cè)響起宋舷,我...
    開(kāi)封第一講書(shū)人閱讀 37,882評(píng)論 0 268
  • 序言:老撾萬(wàn)榮一對(duì)情侶失蹤罐孝,失蹤者是張志新(化名)和其女友劉穎,沒(méi)想到半個(gè)月后肥缔,有當(dāng)?shù)厝嗽跇?shù)林里發(fā)現(xiàn)了一具尸體莲兢,經(jīng)...
    沈念sama閱讀 44,330評(píng)論 1 303
  • 正文 獨(dú)居荒郊野嶺守林人離奇死亡,尸身上長(zhǎng)有42處帶血的膿包…… 初始之章·張勛 以下內(nèi)容為張勛視角 年9月15日...
    茶點(diǎn)故事閱讀 36,651評(píng)論 2 327
  • 正文 我和宋清朗相戀三年续膳,在試婚紗的時(shí)候發(fā)現(xiàn)自己被綠了改艇。 大學(xué)時(shí)的朋友給我發(fā)了我未婚夫和他白月光在一起吃飯的照片。...
    茶點(diǎn)故事閱讀 38,789評(píng)論 1 341
  • 序言:一個(gè)原本活蹦亂跳的男人離奇死亡坟岔,死狀恐怖谒兄,靈堂內(nèi)的尸體忽然破棺而出,到底是詐尸還是另有隱情社付,我是刑警寧澤承疲,帶...
    沈念sama閱讀 34,477評(píng)論 4 333
  • 正文 年R本政府宣布,位于F島的核電站鸥咖,受9級(jí)特大地震影響燕鸽,放射性物質(zhì)發(fā)生泄漏。R本人自食惡果不足惜啼辣,卻給世界環(huán)境...
    茶點(diǎn)故事閱讀 40,135評(píng)論 3 317
  • 文/蒙蒙 一啊研、第九天 我趴在偏房一處隱蔽的房頂上張望。 院中可真熱鬧鸥拧,春花似錦党远、人聲如沸。這莊子的主人今日做“春日...
    開(kāi)封第一講書(shū)人閱讀 30,864評(píng)論 0 21
  • 文/蒼蘭香墨 我抬頭看了看天上的太陽(yáng)。三九已至腕柜,卻和暖如春济似,著一層夾襖步出監(jiān)牢的瞬間矫废,已是汗流浹背。 一陣腳步聲響...
    開(kāi)封第一講書(shū)人閱讀 32,099評(píng)論 1 267
  • 我被黑心中介騙來(lái)泰國(guó)打工碱屁, 沒(méi)想到剛下飛機(jī)就差點(diǎn)兒被人妖公主榨干…… 1. 我叫王不留磷脯,地道東北人。 一個(gè)月前我還...
    沈念sama閱讀 46,598評(píng)論 2 362
  • 正文 我出身青樓娩脾,卻偏偏與公主長(zhǎng)得像赵誓,于是被迫代替她去往敵國(guó)和親。 傳聞我的和親對(duì)象是個(gè)殘疾皇子柿赊,可洞房花燭夜當(dāng)晚...
    茶點(diǎn)故事閱讀 43,697評(píng)論 2 351

推薦閱讀更多精彩內(nèi)容

  • 了解真實(shí)的『REM』手機(jī)屏幕適配rem 作為一個(gè)低調(diào)的長(zhǎng)度單位俩功,由于手機(jī)端網(wǎng)頁(yè)的興起,在屏幕適配中得到重用碰声。 使用...
    張憲宇閱讀 2,236評(píng)論 0 5
  • js: /*響應(yīng)式布局 start*/function setRootFontSize() {var width ...
    花花0825閱讀 1,047評(píng)論 0 0
  • px單位一般我都是使用px來(lái)設(shè)置我們的文本胰挑,因?yàn)樗容^穩(wěn)定和精確蔓罚。但是px本身卻存在一些問(wèn)題,當(dāng)用戶(hù)在瀏覽器我們的...
    Luyc_Han閱讀 697評(píng)論 0 0
  • 問(wèn)答題47 /72 常見(jiàn)瀏覽器兼容性問(wèn)題與解決方案瞻颂? 參考答案 (1)瀏覽器兼容問(wèn)題一:不同瀏覽器的標(biāo)簽?zāi)J(rèn)的外補(bǔ)...
    _Yfling閱讀 13,741評(píng)論 1 92
  • 原作者: 小小小 ****來(lái)自:授權(quán)地址 本文講解rpx和rem應(yīng)用于微信小程序豺谈,如果你還沒(méi)有入門(mén),建議先從下...
    扶桑木下閱讀 9,824評(píng)論 3 3