移動(dòng)端屏幕適配(基礎(chǔ))

常見(jiàn)移動(dòng)web布局適配方法

  • 固定高度,寬度百分比:這種方法只適合簡(jiǎn)單要求不高的webApp名扛,幾乎達(dá)不到大型項(xiàng)目的要求谅年,屬于過(guò)時(shí)的方法。
  • Media Query(媒體查詢):現(xiàn)在比較主流的適配方案肮韧,比如我們常用的樣式框架Bootstrap就是靠這個(gè)起家的融蹂,它能完成大部分項(xiàng)目需求,但是編寫(xiě)過(guò)于復(fù)雜弄企。
  • flex布局:主流的布局方式超燃,不僅適用于移動(dòng)Web,網(wǎng)頁(yè)上也表現(xiàn)良好拘领,這也是現(xiàn)在工作中用的最多的布局方式淋纲,項(xiàng)目盡量采用flex+rem的方式進(jìn)行布局和完成移動(dòng)端的適配。

rem單位介紹

  • rem(font size of the root element)是相對(duì)長(zhǎng)度單位院究。相對(duì)于根元素(即html元素)font-size計(jì)算值的倍數(shù)。
  • 適配原理:將px替換成rem本涕,動(dòng)態(tài)修改html的font-size適配业汰。它可以很好的根據(jù)根元素的字體大小來(lái)進(jìn)行變化,從而達(dá)到各種屏幕基本一致的效果體驗(yàn)菩颖。

實(shí)例

未適配

新建一個(gè)項(xiàng)目样漆,寫(xiě)入以下代碼

<div class="test">
    <p class="hello">Hello World</p>
</div>

然后給html一個(gè)樣式

.test{
    width:320px;
    height:160px;
    background-color: bisque;
    text-align: text;
}
.hello{
    color:orangered;
}

使用px作為單位晦闰,在移動(dòng)端調(diào)試模式iphone5環(huán)境查看一下放祟。會(huì)發(fā)現(xiàn)div的寬度是正好的,再查看一下字體呻右,發(fā)現(xiàn)大小是16px跪妥。


iphone5環(huán)境

在移動(dòng)端調(diào)試模式 iphone6/7/8 環(huán)境查看。刷新頁(yè)面后會(huì)發(fā)現(xiàn)div的寬度較窄声滥,再查看一下字體眉撵,發(fā)現(xiàn)大小還是16px。


iphone6/7/8環(huán)境

現(xiàn)在把CSS中的px單位換成rem單位來(lái)進(jìn)行測(cè)試落塑。因?yàn)閔tml根元素的字體大小是16px纽疟,那么換成rem單位,直接除以16就好憾赁。
.test{
    width:20rem;
    height:10rem;
    background-color: bisque;
    text-align: text污朽;
}
.hello{
    color:orangered;
    font-size:1rem;
}

頁(yè)面并沒(méi)有什么變化,我們只是掌握了換算關(guān)系龙考,還不能實(shí)現(xiàn)適配蟆肆,因?yàn)槲覀兏氐淖煮w是固定的矾睦。

JS控制適配屏幕

明白了REM的原理后,可以使用這個(gè)特點(diǎn)來(lái)進(jìn)行適應(yīng)布局了颓芭,這也是現(xiàn)在比較主流的移動(dòng)端web適配方案顷锰。
如果你有更好的方案,可以在文章下方進(jìn)行留言亡问。

<script>
      /* 獲取移動(dòng)端屏幕的寬度 */
      let htmlWidth = document.documentElement.clientWidth || document.body.clientWidth;
      /* 獲取html DOM元素 */
      let htmlDom = document.getElementsByTagName("html")[0];
      /* 設(shè)置根元素字體大小 */
      htmlDom.style.fontSize = htmlWidth / 20 + "px";
</script>

在移動(dòng)端調(diào)試模式iphone5環(huán)境查看一下官紫。會(huì)發(fā)現(xiàn)div的寬度是正好的,查看一下字體州藕,發(fā)現(xiàn)大小是16px束世。


適配后iphone5環(huán)境

在移動(dòng)端調(diào)試模式iphone6/7/8環(huán)境查看一下。會(huì)發(fā)現(xiàn)div的寬度也是正好的床玻,再查看一下字體毁涉,發(fā)現(xiàn)大小是18.75px。


適配后iphone6/7/8環(huán)境
最后編輯于
?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請(qǐng)聯(lián)系作者
  • 序言:七十年代末锈死,一起剝皮案震驚了整個(gè)濱河市贫堰,隨后出現(xiàn)的幾起案子,更是在濱河造成了極大的恐慌待牵,老刑警劉巖其屏,帶你破解...
    沈念sama閱讀 217,277評(píng)論 6 503
  • 序言:濱河連續(xù)發(fā)生了三起死亡事件,死亡現(xiàn)場(chǎng)離奇詭異缨该,居然都是意外死亡偎行,警方通過(guò)查閱死者的電腦和手機(jī),發(fā)現(xiàn)死者居然都...
    沈念sama閱讀 92,689評(píng)論 3 393
  • 文/潘曉璐 我一進(jìn)店門贰拿,熙熙樓的掌柜王于貴愁眉苦臉地迎上來(lái)蛤袒,“玉大人,你說(shuō)我怎么就攤上這事膨更∶钫妫” “怎么了?”我有些...
    開(kāi)封第一講書(shū)人閱讀 163,624評(píng)論 0 353
  • 文/不壞的土叔 我叫張陵荚守,是天一觀的道長(zhǎng)隐孽。 經(jīng)常有香客問(wèn)我,道長(zhǎng)健蕊,這世上最難降的妖魔是什么菱阵? 我笑而不...
    開(kāi)封第一講書(shū)人閱讀 58,356評(píng)論 1 293
  • 正文 為了忘掉前任,我火速辦了婚禮缩功,結(jié)果婚禮上晴及,老公的妹妹穿的比我還像新娘。我一直安慰自己嫡锌,他們只是感情好虑稼,可當(dāng)我...
    茶點(diǎn)故事閱讀 67,402評(píng)論 6 392
  • 文/花漫 我一把揭開(kāi)白布琳钉。 她就那樣靜靜地躺著,像睡著了一般蛛倦。 火紅的嫁衣襯著肌膚如雪歌懒。 梳的紋絲不亂的頭發(fā)上,一...
    開(kāi)封第一講書(shū)人閱讀 51,292評(píng)論 1 301
  • 那天溯壶,我揣著相機(jī)與錄音及皂,去河邊找鬼。 笑死且改,一個(gè)胖子當(dāng)著我的面吹牛验烧,可吹牛的內(nèi)容都是我干的。 我是一名探鬼主播又跛,決...
    沈念sama閱讀 40,135評(píng)論 3 418
  • 文/蒼蘭香墨 我猛地睜開(kāi)眼碍拆,長(zhǎng)吁一口氣:“原來(lái)是場(chǎng)噩夢(mèng)啊……” “哼!你這毒婦竟也來(lái)了慨蓝?” 一聲冷哼從身側(cè)響起感混,我...
    開(kāi)封第一講書(shū)人閱讀 38,992評(píng)論 0 275
  • 序言:老撾萬(wàn)榮一對(duì)情侶失蹤,失蹤者是張志新(化名)和其女友劉穎礼烈,沒(méi)想到半個(gè)月后浩习,有當(dāng)?shù)厝嗽跇?shù)林里發(fā)現(xiàn)了一具尸體,經(jīng)...
    沈念sama閱讀 45,429評(píng)論 1 314
  • 正文 獨(dú)居荒郊野嶺守林人離奇死亡济丘,尸身上長(zhǎng)有42處帶血的膿包…… 初始之章·張勛 以下內(nèi)容為張勛視角 年9月15日...
    茶點(diǎn)故事閱讀 37,636評(píng)論 3 334
  • 正文 我和宋清朗相戀三年,在試婚紗的時(shí)候發(fā)現(xiàn)自己被綠了洽蛀。 大學(xué)時(shí)的朋友給我發(fā)了我未婚夫和他白月光在一起吃飯的照片摹迷。...
    茶點(diǎn)故事閱讀 39,785評(píng)論 1 348
  • 序言:一個(gè)原本活蹦亂跳的男人離奇死亡,死狀恐怖郊供,靈堂內(nèi)的尸體忽然破棺而出峡碉,到底是詐尸還是另有隱情,我是刑警寧澤驮审,帶...
    沈念sama閱讀 35,492評(píng)論 5 345
  • 正文 年R本政府宣布鲫寄,位于F島的核電站,受9級(jí)特大地震影響疯淫,放射性物質(zhì)發(fā)生泄漏地来。R本人自食惡果不足惜,卻給世界環(huán)境...
    茶點(diǎn)故事閱讀 41,092評(píng)論 3 328
  • 文/蒙蒙 一熙掺、第九天 我趴在偏房一處隱蔽的房頂上張望未斑。 院中可真熱鬧,春花似錦币绩、人聲如沸蜡秽。這莊子的主人今日做“春日...
    開(kāi)封第一講書(shū)人閱讀 31,723評(píng)論 0 22
  • 文/蒼蘭香墨 我抬頭看了看天上的太陽(yáng)芽突。三九已至试浙,卻和暖如春,著一層夾襖步出監(jiān)牢的瞬間寞蚌,已是汗流浹背田巴。 一陣腳步聲響...
    開(kāi)封第一講書(shū)人閱讀 32,858評(píng)論 1 269
  • 我被黑心中介騙來(lái)泰國(guó)打工, 沒(méi)想到剛下飛機(jī)就差點(diǎn)兒被人妖公主榨干…… 1. 我叫王不留睬澡,地道東北人固额。 一個(gè)月前我還...
    沈念sama閱讀 47,891評(píng)論 2 370
  • 正文 我出身青樓,卻偏偏與公主長(zhǎng)得像煞聪,于是被迫代替她去往敵國(guó)和親斗躏。 傳聞我的和親對(duì)象是個(gè)殘疾皇子,可洞房花燭夜當(dāng)晚...
    茶點(diǎn)故事閱讀 44,713評(píng)論 2 354