關於手機適配中的rem的學習隨筆

来源:http://www.cnblogs.com/webwy/archive/2016/11/16/6071393.html
-Advertisement-
Play Games

githup 下載地址 :https://github.com/comjustforfun/remformobile adaptivejs利用rem解決移動端頁面開發的自適應問題 頁面模板初始化的時候不用設置viewport標簽,由js生成。 我們在head標簽的頂部引入js,按以下方法使用即可 最 ...


githup 下載地址 :https://github.com/comjustforfun/remformobile

adaptivejs利用rem解決移動端頁面開發的自適應問題 
頁面模板初始化的時候不用設置viewport標簽,由js生成。 
我們在head標簽的頂部引入js,按以下方法使用即可 
最大優點: 
計算html元素的font-size,使1rem等於100px,方便快速開發 
使用方法: 
在頁面head寫入以下代碼,實時更新html的fontsize:

adaptive.js// 有縮放,精確還原設計圖

adaptive-version2.js// 沒有縮放,能快速開發的版本

window['adaptive'].desinWidth = 640;// 設計圖寬度

window['adaptive'].baseFont = 18;// 沒有縮放時的字體大小

window['adaptive'].maxWidth = 480;// 頁面最大寬度 預設540

window['adaptive'].init();// 調用初始化方法

<script>
window['adaptive'].desinWidth = 640;
window['adaptive'].baseFont = 18;
window['adaptive'].init();
</script>

然後在css中設置相應樣式即可: 
.main-info { 
height: 0.88rem; 
padding-bottom: 0.24rem; 

.fund-info { 
position: relative; 
font-weight: normal; 
padding: 0.2rem 0; 
padding-right: 1.7rem; 
padding-left: 0.23rem; 
font-size: 0.32rem; 
line-height: 1; 
}

adaptivejs原理: 
利用rem佈局,根據公式

html元素字體大小 = document根節點(html)寬度 * 100 / 設計圖寬度

計算html元素的font-size,使1rem等於100px,方便快速開發 
開發時,一個div設計圖寬度為89px,那麼在css中我們可以這樣書寫:width:0.89rem; 
如果是文字,我們也建議使用rem

對於iphone的retina高清顯示屏,基本版本(adaptive.js)我們做了縮放處理,以達到最佳顯示效果。 對於快速開發版本(adaptive-version2.js),viewport的width等於設備寬度,不會縮放 
註意:如果設計圖寬度大於document的寬度,0.01rem將小於1px,故如果設計圖是1px,在css中仍然用1px顯示。 
可用的全局變數:window.devicePixelRatioValue 當前頁面設置的設備像素比

優化寬度問題 
新增最大寬度,解決平板或手機橫屏時體驗不佳的問題 
window[‘adaptive’].maxWidth = 480; // 設置最大寬度,預設540px 
需要css配合使用,添加如下代碼: 
body { 
max-width: 6.4rem; // 設計圖寬度為640px時為6.4rem ,750時為7.5rem ,以此類推 
margin: 0 auto; 

body * { 
max-width: 6.4rem; // 設計圖寬度為640px時為6.4rem ,750時為7.5rem ,以此類推 
}

本文摘自:http://blog.csdn.net/java_goodstudy/article/details/51397594


您的分享是我們最大的動力!

-Advertisement-
Play Games
更多相關文章
  • 一款很實用的jQuery滑鼠懸浮有動畫效果的響應式瀑布流插件 線上預覽 下載地址 實例代碼 <!doctype html> <html lang="zh"> <head> <meta charset="UTF-8"> <meta http-equiv="X-UA-Compatible" conten ...
  • 前言:最近準備做一個自己的網頁,設計稿中導航我準備設計成矩形,也有hover樣式展示的矩形,當中一些頭像等等。以前除了畫圓,好像真沒認真畫過其他圖形,今天就畫畫我們常見到的幾個圖形。 在此之前我們有必要瞭解下什麼是偽元素(和它不同的,還有一個概念叫偽類,兩者容易混淆),沒有它畫不成圖形的。 a)偽元 ...
  • 2016年9月27日—1.0leaflet,最快的,最穩定和嚴謹的leaflet,終於出來了! leaflet是領先的開源JavaScript庫為移動設備設計的互動地圖。重33 KB的JS,所有映射大多數開發人員所需要的特性。 leaflet設計簡單,性能和可用性。它有效地在所有主要的桌面和移動平臺 ...
  • DOM系列 基礎篇 DOM (Document Object Model) 即文檔對象模型, 針對 HTML 和 XML 文檔的 API (應用程式介面) 。DOM 描繪了一個層次化的節點樹,運行開發人員添加、移除和修改頁面的某一部分。DOM 產生於 網景公司及微軟公司創始的 DHTML(動態 HT ...
  • 上一節的遺留問題,關於this的相關問題,先來解決一下。 this的相關問題 this指代的是什麼 這個應該是比較好理解的,this就是指代當前操作的DOM對象。 在jQuery中,this可以用於單個對象,也可以用於多個對象。 jQuery中的this和$(this)有什麼區別 jQuery中的t ...
  • 最近在學習jQuery,在網上看到有幾篇關於jQuery的文章,寫的不錯轉載過來跟大家分享一下; 一、JQuery是什麼 JQuery是什麼?始終是縈繞在我心中的一個問題: 借鑒網上同學們的總結,可以從以下幾個方面觀察。 不使用JQuery時獲取DOM文本的操作如下: 1 document.getE ...
  • 1、響應式網頁: ①Responsive Web Page:一個可以根據瀏覽設備的不同,而自動更改佈局、圖片、文字效果的網頁; ②構成:不能固定寬度,必須流式佈局;文字和圖片大小隨容器大小而改變;CSS3 Media Query;2、響應式網頁編寫: ①必須聲明viewport元標簽: <meta ...
  • <!DOCTYPE html> <html> <head> <meta charset="UTF-8"> <title></title> <style type="text/css"> #main{ height: 400px; width: 400px; margin: 20px auto; } ...
一周排行
    -Advertisement-
    Play Games
  • 移動開發(一):使用.NET MAUI開發第一個安卓APP 對於工作多年的C#程式員來說,近來想嘗試開發一款安卓APP,考慮了很久最終選擇使用.NET MAUI這個微軟官方的框架來嘗試體驗開發安卓APP,畢竟是使用Visual Studio開發工具,使用起來也比較的順手,結合微軟官方的教程進行了安卓 ...
  • 前言 QuestPDF 是一個開源 .NET 庫,用於生成 PDF 文檔。使用了C# Fluent API方式可簡化開發、減少錯誤並提高工作效率。利用它可以輕鬆生成 PDF 報告、發票、導出文件等。 項目介紹 QuestPDF 是一個革命性的開源 .NET 庫,它徹底改變了我們生成 PDF 文檔的方 ...
  • 項目地址 項目後端地址: https://github.com/ZyPLJ/ZYTteeHole 項目前端頁面地址: ZyPLJ/TreeHoleVue (github.com) https://github.com/ZyPLJ/TreeHoleVue 目前項目測試訪問地址: http://tree ...
  • 話不多說,直接開乾 一.下載 1.官方鏈接下載: https://www.microsoft.com/zh-cn/sql-server/sql-server-downloads 2.在下載目錄中找到下麵這個小的安裝包 SQL2022-SSEI-Dev.exe,運行開始下載SQL server; 二. ...
  • 前言 隨著物聯網(IoT)技術的迅猛發展,MQTT(消息隊列遙測傳輸)協議憑藉其輕量級和高效性,已成為眾多物聯網應用的首選通信標準。 MQTTnet 作為一個高性能的 .NET 開源庫,為 .NET 平臺上的 MQTT 客戶端與伺服器開發提供了強大的支持。 本文將全面介紹 MQTTnet 的核心功能 ...
  • Serilog支持多種接收器用於日誌存儲,增強器用於添加屬性,LogContext管理動態屬性,支持多種輸出格式包括純文本、JSON及ExpressionTemplate。還提供了自定義格式化選項,適用於不同需求。 ...
  • 目錄簡介獲取 HTML 文檔解析 HTML 文檔測試參考文章 簡介 動態內容網站使用 JavaScript 腳本動態檢索和渲染數據,爬取信息時需要模擬瀏覽器行為,否則獲取到的源碼基本是空的。 本文使用的爬取步驟如下: 使用 Selenium 獲取渲染後的 HTML 文檔 使用 HtmlAgility ...
  • 1.前言 什麼是熱更新 游戲或者軟體更新時,無需重新下載客戶端進行安裝,而是在應用程式啟動的情況下,在內部進行資源或者代碼更新 Unity目前常用熱更新解決方案 HybridCLR,Xlua,ILRuntime等 Unity目前常用資源管理解決方案 AssetBundles,Addressable, ...
  • 本文章主要是在C# ASP.NET Core Web API框架實現向手機發送驗證碼簡訊功能。這裡我選擇是一個互億無線簡訊驗證碼平臺,其實像阿裡雲,騰訊雲上面也可以。 首先我們先去 互億無線 https://www.ihuyi.com/api/sms.html 去註冊一個賬號 註冊完成賬號後,它會送 ...
  • 通過以下方式可以高效,並保證數據同步的可靠性 1.API設計 使用RESTful設計,確保API端點明確,並使用適當的HTTP方法(如POST用於創建,PUT用於更新)。 設計清晰的請求和響應模型,以確保客戶端能夠理解預期格式。 2.數據驗證 在伺服器端進行嚴格的數據驗證,確保接收到的數據符合預期格 ...