移動端適配的問題

來源:互聯網
上載者:User

標籤:

1.如何適配?

想要在移動端的不同尺寸裝置間做適配,使得頁面配置可以等比例縮放。

於是我立刻想到了百分比布局和rem布局。

百分比布局無法適配性定高,只能用px定死,顯然這是無法接受的。

rem布局不是響應式布局方案,它的應用僅僅局限於移動端,不同尺寸的行動裝置,是一種等比縮放的適配方案。

 

2.如何用rem做適配?

業內比較流行的做法:

  1.設定viewport為裝置寬度(不一定,但常用)

  2、將viewport分成10rem,並計算出1rem在當前瀏覽器的像素值,賦給html的font-size(分成10rem只是為了方便計算,其他值也可以)

  3.寫CSS代碼時,width,height,margin,padding等布局屬性,就不要再用px了,改用rem

 

3.viewport是什嗎?

viewport相當於虛擬畫布

寬度設定為500,那麼瀏覽器橫向將被分為500份,CSS的1px就是1/500

也就是說,這個寬度設定的越大,CSS的1px就越小

所以,在CSS中,1px是指viewport中的一個小方格,而viewport的寬度是可以設定的

 

4.什麼是CSS像素?

就是上述viewport裡的一個小方格

 

5.什麼是物理像素?

也就是我們常說的n*m解析度,即,螢幕上有n*m個像素點,它是螢幕能顯示的最小粒度。

 

6.像素密度?

dpi或ppi,螢幕上每實際英寸所佔的物理像素點數

 

7.如何計算轉換係數?

CSS像素=轉換係數*物理像素

轉換係數就是dpr,裝置像素比

假設:某台安卓手機,解析度是1920*1080,螢幕對角線是5英寸。那麼在這台手機上一個CSS像素佔了多少物理像素?

1.勾股定理算出對角線解析度√(1920²+1080²)≈2203px

2.算出dpi=對角線解析度/對角線英寸=2203/5≈440dpi

3.根據,440dpi屬於XXHDPI,轉換係數是3.

因此這一台手機1個CSS像素=3個物理像素。

 

8.device-width是多大?

device-width很明顯是CSS像素,因此

 device-width=物理像素(橫向)/轉換係數

上述安卓手機的device-width=1080/3=360

viewport設定為固定的數值可能會破壞這種轉換關係,一般設定為device-width

 

9.如何在高分屏上設定1px邊框?

如上述所言,比如那個安卓手機,1CSS像素代表3物理像素,如果我們把邊框設定為1px,那麼實際它會顯示為3像素寬。

 

方法一:viewport的initial-scale

  設定為1/dpr,即轉換係數的倒數。

  優點:不用改寫原來的border代碼;可以輕鬆設定圓角border-radius

  缺點:整個頁面縮小了。設定1rem=dpr*document.documentElement.clientWidth/10.

 

方法二:transform的scale

  在CSS3標準裡,可以縮放某個元素。

  

  優點:不需要縮放整個頁面

  缺點:為border設定縮放屬性並做瀏覽器安全色,代碼量增加。無法實現border-radius圓角。

 

 

最後:

如果不設定meta viewport標籤,那麼行動裝置上瀏覽器預設的寬度值為800px,980px,1024px等這些,總之是大於螢幕寬度的。那麼內部元素尺寸也會比預想的要大,於是會出現捲軸!

移動端適配的問題

聯繫我們

該頁面正文內容均來源於網絡整理,並不代表阿里雲官方的觀點,該頁面所提到的產品和服務也與阿里云無關,如果該頁面內容對您造成了困擾,歡迎寫郵件給我們,收到郵件我們將在5個工作日內處理。

如果您發現本社區中有涉嫌抄襲的內容,歡迎發送郵件至: info-contact@alibabacloud.com 進行舉報並提供相關證據,工作人員會在 5 個工作天內聯絡您,一經查實,本站將立刻刪除涉嫌侵權內容。

A Free Trial That Lets You Build Big!

Start building with 50+ products and up to 12 months usage for Elastic Compute Service

  • Sales Support

    1 on 1 presale consultation

  • After-Sales Support

    24/7 Technical Support 6 Free Tickets per Quarter Faster Response

  • Alibaba Cloud offers highly flexible support services tailored to meet your exact needs.