移動(dòng)端布局

  • 從pc端到移動(dòng)端, 布局上最大的改變就是要兼容不同大小的設(shè)備。

  • pc端雖然針對(duì)不同的屏幕大小,我們常用固定網(wǎng)頁(yè)寬度,整體居中來(lái)實(shí)現(xiàn)。

  • 移動(dòng)端則需要一套自適應(yīng)的方案。

方案1 %

  • 寬度用%代替px。

但這種實(shí)現(xiàn)css可讀性很差,百分比布局的時(shí)候依賴父容器的大小, 值的計(jì)算不方便。
子組件之間如果同時(shí)有百分比和px,往往需要給百分比額外加容器。

方案2 rem

用rem單位代替%, (vh,vw)

方案1的缺點(diǎn)都沒(méi)有了。

但還是有一些細(xì)節(jié)不如人意

  • 為什么app上的border這么細(xì),H5就不能細(xì)點(diǎn)嗎?

  • 從設(shè)計(jì)稿的px 到 rem還是需要一個(gè)計(jì)算。

方案3 手淘flexible

原文 https://github.com/amfe/lib-flexible

  • 頁(yè)面加載初始,引入一個(gè)js文件。

  • 對(duì)不同設(shè)備設(shè)置其對(duì)應(yīng)的dpi。 (設(shè)備像素比(device pixel ratio))

  • *設(shè)備像素比 = 物理像素 / 設(shè)備獨(dú)立像素

于是我們真正實(shí)現(xiàn)的頁(yè)面大小是該設(shè)備能顯示的物理像素大小。

然后通過(guò) viewport 對(duì)網(wǎng)頁(yè)縮放對(duì)應(yīng) dpi的倍數(shù)。

這種實(shí)現(xiàn)解決了 方案2中1px的問(wèn)題。

  • 在不同dpi下,同一個(gè)dom需要不同的px。
  • 用sass封裝了 px2rem, px2px來(lái)解決。
  • 我們實(shí)際寫(xiě)樣式時(shí)再也不需要計(jì)算了。

方案2的第二個(gè)問(wèn)題也隨之解決。

缺點(diǎn), 在引入飛flexible的組件時(shí)很痛苦。

總結(jié)

能忍受1px問(wèn)題的情況下,
方案2 + px2rem足以。
追求完美可用方案3

3個(gè)方案與其說(shuō)是解決方案,不如說(shuō)是一個(gè)開(kāi)發(fā)工具。
真正的什么時(shí)候去做自適應(yīng),什么要用px,什么用rem還是根據(jù)UI的要求和開(kāi)發(fā)的經(jīng)驗(yàn)。

1px問(wèn)題詳解

http://mutian.wang/tech/1570

原來(lái)方案3的1px也有缺點(diǎn)。

最后編輯于
?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請(qǐng)聯(lián)系作者
平臺(tái)聲明:文章內(nèi)容(如有圖片或視頻亦包括在內(nèi))由作者上傳并發(fā)布,文章內(nèi)容僅代表作者本人觀點(diǎn),簡(jiǎn)書(shū)系信息發(fā)布平臺(tái),僅提供信息存儲(chǔ)服務(wù)。

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

  • 一、meta標(biāo)簽的效果 移動(dòng)端頁(yè)面一般會(huì)在head頭部添加如下meta標(biāo)簽。 該meta標(biāo)簽是否添加對(duì)頁(yè)面渲染的影...
    nimw閱讀 3,637評(píng)論 0 5
  • 這篇文章,主要是總結(jié)一下,在移動(dòng)端布局用過(guò)的方法。有三種,一種是響應(yīng)式布局,利用@meida判斷各個(gè)size;第二...
    井皮皮閱讀 464評(píng)論 1 2
  • 剛開(kāi)始做移動(dòng)端web開(kāi)發(fā)的同學(xué)應(yīng)該都碰到過(guò)頁(yè)面適配問(wèn)題,為什么我在開(kāi)發(fā)手機(jī)上調(diào)試好的頁(yè)面在其他手機(jī)會(huì)有這樣或那樣的...
    留七七閱讀 19,504評(píng)論 5 80
  • 緩慢的節(jié)奏突破了精神防線 不要再打哈哈笑著說(shuō)無(wú)所謂 無(wú)可表達(dá)的方式就是讓你從此離去 跳躍的旋律伺機(jī)反擊勝局 安靜尚...
    張華琳閱讀 216評(píng)論 0 0
  • 今天見(jiàn)了小郭同學(xué)的爸媽,慌的一比。。。
    會(huì)畫(huà)畫(huà)的段小姐閱讀 150評(píng)論 0 0