移動端布局——rem的使用

終于可以做點(diǎn)純前端的工作了=。=
之前不用rem的時(shí)候,我遇到了怎樣的問題迷捧?
設(shè)計(jì)師交給我的設(shè)計(jì)圖(暫定尺寸為640x1280,單位為px)里胀葱,標(biāo)定了一些元素的寬度與字體大小漠秋。前端需要按圖紙進(jìn)行還原。非文字類的元素很簡單抵屿,設(shè)置個百分比就搞定庆锦。但文字就有些惡心了。
惡心在那里轧葛?對一個字體大小設(shè)置為16px的段落搂抒,它在iphone5和iphone6p上其實(shí)上同樣大小的,但是屏幕寬度發(fā)生了變化朝群。這也就是說燕耿,總有個屏幕是跟設(shè)計(jì)圖不一樣的。再想想div的高度姜胖,是不是就更覺得蛋疼誉帅。

rem是什么?
<blockquote>
rem(font size of the root element)是指相對于根元素的字體大小的單位右莱。簡單的說它就是一個相對單位蚜锨。看到rem大家一定會想起em單位慢蜓,em(font size of the element)是指相對于父元素的字體大小的單位亚再。它們之間其實(shí)很相似,只不過一個計(jì)算的規(guī)則是依賴根元素一個是依賴父元素計(jì)算晨抡。
</blockquote>

好》招現(xiàn)在我們大概有了一個概念则剃,知道它是怎么回事兒了。html下設(shè)置的font-size就是1rem如捅。通常1rem會是屏幕寬度的1/16棍现。也可以自己設(shè)置。我們可以在css里對元素本身的寬度與字體大小進(jìn)行重新設(shè)置镜遣。來讓你的頁面與設(shè)計(jì)圖保持一致己肮。如果你原來用了px作為單位,那么可能需要進(jìn)行換算悲关。

有沒有好的換算工具谎僻?有,hotcss寓辱。

hotcss基于sass艘绍。十分簡單。

在安裝完成之后讶舰,我的scss如下:

//sass style
//-----------------------------------
@import './px2rem.scss';
$designWidth : 640;
$fontStack:    Helvetica, sans-serif;
$primaryColor: #333;
html{
    width:  100% ;
    overflow : hidden ;
}
body {
  font-family: $fontStack;
  color: $primaryColor;
  width:16rem;margin:0 auto;
  overflow : hidden ;
}

p{
    font-size : px2rem(64);
}

設(shè)計(jì)稿的寬度我們假定為640px鞍盗。在p標(biāo)簽內(nèi)需了,字體在設(shè)計(jì)稿里的大小為64px跳昼。明顯看到我們使用hotcss進(jìn)行了轉(zhuǎn)換。這樣肋乍,在所有的移動端屏幕里鹅颊,每個字的大小都是會屏幕寬度的1/10了。

hotcss的存在可以幫助我們解決其他問題嗎墓造?
屏幕分辨率的不同堪伍,通常會讓促使前端們對像素進(jìn)行充分利用。物理像素們有多少就要用多少觅闽。那么有什么可行的玩弄所有像素的辦法嗎帝雇?簡單的說,如果你的屏幕物理像素點(diǎn)恰好是邏輯像素點(diǎn)的4倍蛉拙,就先把整個頁面布局成原有尺寸的兩倍大小尸闸,然后在meta里設(shè)置viewport再縮小回來:

<meta name="viewport" content="width=device-width, initial-scale=0.5, minimum-scale=0.5, maximum-scale=0.5, user-scalable=no">

這樣就可以充分利用整塊屏幕的物理像素點(diǎn)。順便可以解決1像素問題孕锄。

最后編輯于
?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請聯(lián)系作者
  • 序言:七十年代末吮廉,一起剝皮案震驚了整個濱河市,隨后出現(xiàn)的幾起案子畸肆,更是在濱河造成了極大的恐慌宦芦,老刑警劉巖,帶你破解...
    沈念sama閱讀 221,635評論 6 515
  • 序言:濱河連續(xù)發(fā)生了三起死亡事件轴脐,死亡現(xiàn)場離奇詭異调卑,居然都是意外死亡抡砂,警方通過查閱死者的電腦和手機(jī),發(fā)現(xiàn)死者居然都...
    沈念sama閱讀 94,543評論 3 399
  • 文/潘曉璐 我一進(jìn)店門恬涧,熙熙樓的掌柜王于貴愁眉苦臉地迎上來舀患,“玉大人,你說我怎么就攤上這事气破×那常” “怎么了?”我有些...
    開封第一講書人閱讀 168,083評論 0 360
  • 文/不壞的土叔 我叫張陵现使,是天一觀的道長低匙。 經(jīng)常有香客問我,道長碳锈,這世上最難降的妖魔是什么顽冶? 我笑而不...
    開封第一講書人閱讀 59,640評論 1 296
  • 正文 為了忘掉前任,我火速辦了婚禮售碳,結(jié)果婚禮上强重,老公的妹妹穿的比我還像新娘。我一直安慰自己贸人,他們只是感情好间景,可當(dāng)我...
    茶點(diǎn)故事閱讀 68,640評論 6 397
  • 文/花漫 我一把揭開白布。 她就那樣靜靜地躺著艺智,像睡著了一般倘要。 火紅的嫁衣襯著肌膚如雪。 梳的紋絲不亂的頭發(fā)上十拣,一...
    開封第一講書人閱讀 52,262評論 1 308
  • 那天封拧,我揣著相機(jī)與錄音,去河邊找鬼夭问。 笑死泽西,一個胖子當(dāng)著我的面吹牛,可吹牛的內(nèi)容都是我干的缰趋。 我是一名探鬼主播捧杉,決...
    沈念sama閱讀 40,833評論 3 421
  • 文/蒼蘭香墨 我猛地睜開眼,長吁一口氣:“原來是場噩夢啊……” “哼埠胖!你這毒婦竟也來了糠溜?” 一聲冷哼從身側(cè)響起,我...
    開封第一講書人閱讀 39,736評論 0 276
  • 序言:老撾萬榮一對情侶失蹤直撤,失蹤者是張志新(化名)和其女友劉穎非竿,沒想到半個月后,有當(dāng)?shù)厝嗽跇淞掷锇l(fā)現(xiàn)了一具尸體谋竖,經(jīng)...
    沈念sama閱讀 46,280評論 1 319
  • 正文 獨(dú)居荒郊野嶺守林人離奇死亡红柱,尸身上長有42處帶血的膿包…… 初始之章·張勛 以下內(nèi)容為張勛視角 年9月15日...
    茶點(diǎn)故事閱讀 38,369評論 3 340
  • 正文 我和宋清朗相戀三年承匣,在試婚紗的時(shí)候發(fā)現(xiàn)自己被綠了。 大學(xué)時(shí)的朋友給我發(fā)了我未婚夫和他白月光在一起吃飯的照片锤悄。...
    茶點(diǎn)故事閱讀 40,503評論 1 352
  • 序言:一個原本活蹦亂跳的男人離奇死亡韧骗,死狀恐怖,靈堂內(nèi)的尸體忽然破棺而出零聚,到底是詐尸還是另有隱情袍暴,我是刑警寧澤,帶...
    沈念sama閱讀 36,185評論 5 350
  • 正文 年R本政府宣布隶症,位于F島的核電站政模,受9級特大地震影響,放射性物質(zhì)發(fā)生泄漏蚂会。R本人自食惡果不足惜淋样,卻給世界環(huán)境...
    茶點(diǎn)故事閱讀 41,870評論 3 333
  • 文/蒙蒙 一、第九天 我趴在偏房一處隱蔽的房頂上張望胁住。 院中可真熱鬧趁猴,春花似錦、人聲如沸彪见。這莊子的主人今日做“春日...
    開封第一講書人閱讀 32,340評論 0 24
  • 文/蒼蘭香墨 我抬頭看了看天上的太陽企巢。三九已至枫慷,卻和暖如春,著一層夾襖步出監(jiān)牢的瞬間浪规,已是汗流浹背。 一陣腳步聲響...
    開封第一講書人閱讀 33,460評論 1 272
  • 我被黑心中介騙來泰國打工探孝, 沒想到剛下飛機(jī)就差點(diǎn)兒被人妖公主榨干…… 1. 我叫王不留笋婿,地道東北人。 一個月前我還...
    沈念sama閱讀 48,909評論 3 376
  • 正文 我出身青樓顿颅,卻偏偏與公主長得像缸濒,于是被迫代替她去往敵國和親。 傳聞我的和親對象是個殘疾皇子粱腻,可洞房花燭夜當(dāng)晚...
    茶點(diǎn)故事閱讀 45,512評論 2 359

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