通過rem編寫自適應移動端要點

來源:互聯網
上載者:User

標籤:

直接上乾貨 

1,dpr 蘋果手機像素是2 普通安卓機是1 也就是說1像素下蘋果需要的像素點是安卓機的兩倍 所以一個需要15x15顯示的映像安卓機僅需要提供15X15即可顯示清楚 蘋果手機需要要30X30  你可以採用檢測不同類型手機載入不同大小圖  為了保證像素

推薦做的時候用蘋果大圖然後在轉化為不同尺寸。

2,rem 實現方法

在頭部通過viewport 監控螢幕尺寸:

<meta name="viewport" content="width=device-width, initial-scale=1.0, maximum-scale=1.0, user-scalable=0">

在css中利用css3 @media 呈現在不同尺寸螢幕下font-size 從而控制頁面的等比放大

根html設定font-size 為67.5%時 時1rem 為 10px  

這裡採用的是125%即為20px 是由於Google瀏覽器的最小顯示是12px 為了方便調試並且我做完發現採用20效果還行 

我這裡做的時候是在340的基準下所以 在360的螢幕下 font-size 應該時360/340 * 125% 約= 132.3 以此類推

html

{ font-size : 125%; -ms-text-size-adjust:100%; -webkit-text-size-adjust:100%; height:100%}

@media screen and (min-width: 321px) and (max-width: 360px){ html { font-size: 132.3% ; } 

@media screen and (min-width: 361px) and (max-width: 375px){ html { font-size: 137.9% ; }}

@media screen and (min-width: 376px) and (max-width: 414px){ html { font-size: 152.2% ; }}

@media screen and (min-width: 415px) and (max-width: 435px){ html { font-size: 160%; }}

@media screen and (min-width: 436px) and (max-width: 480px){ html { font-size: 176.47%; }}

@media screen and (min-width: 641px) and (max-width: 769px){ html { font-size: 250% ; }}

 

3,注意手機瀏覽器一般都有設定最小的字型顯示   打個比方就是你設定為5px 手機瀏覽器為了顯示清楚 會按照10px顯示

因為10px 是這個手機瀏覽器內建要求的最小字型 為了能顯示5px的字

這裡推薦採用css3 的scale屬性通過縮放來類比字型變小

手機端邊框也有最小顯示大小 可能你在google瀏覽器的手機類比上看著沒問題但在真實手機上會出現邊框消失現象

這裡推薦將border設定成none 採用css3 的box-shadow屬性來類比邊框 box-shadow: inset 0 0 .05rem #fff, inset 0 .05rem 0 #fff, 0 0px .05rem 0px black;//這裡是黑邊框

4,手機端不支援hover 屬性如果要類比hover效果可以採用 綁定touchstart 和 touchend 類比效果 這裡li-active是觸控後的樣式

$(‘.readboy-catalog li‘).on(‘touchstart‘,function(e) { $(this).addClass("li-active"); });

$(‘.readboy-catalog li‘).on(‘touchend‘,function(e) { $(this).removeClass("li-active"); });

5,手機端因為要求儘可能少的載入資源所以這裡不推薦使用jquery 而是更輕量級的zepto用法和jquery基本相同

6,手機端推薦的輪播外掛程式swiper樣式繁多 且支援觸控

後面再慢慢補充

 

通過rem編寫自適應移動端要點

聯繫我們

該頁面正文內容均來源於網絡整理,並不代表阿里雲官方的觀點,該頁面所提到的產品和服務也與阿里云無關,如果該頁面內容對您造成了困擾,歡迎寫郵件給我們,收到郵件我們將在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.