1. 程式人生 > >[webkit移動開發筆記]之相容iPhone4和iPhone5的方法

[webkit移動開發筆記]之相容iPhone4和iPhone5的方法

摘要:

[iPhone 4帶來的革新,retina display絕對是最吸引眼球的一項。正是依賴這視網膜顯示屏,iPhone 4的解析度達到了640×960 pixels,不過為了保持向下相容性,它採用的仍然是320×480 points。也就是說,在不進行縮放的情況下,顯示普通圖片時,它會用4個畫素來顯示圖片中的1個畫素;而在顯示retina圖片時,每個畫素都對應圖片中的1個畫素。

如此一來,老的應用無需修改就可以在iPhone 4上運行了——雖然顯示效果差了點,但是不會出現只有左上角那1/4的區域有內容的情況。

在網頁中,pixel與point比值稱為device-pixel-ratio,普通裝置都是1,iPhone 4是2,有些Android機型是1.5。]

那麼-webkit-min-device-pixel-ratio:2可以用來區分iphone(4/4s/5)和其它的手機

iPhone4/4s的解析度為640*960 pixels,DPI為是326,裝置高度為480px

iPhone5的解析度為640*1136 pixels,DPI依然是326,裝置高度為568px

那麼我們只需要判斷iphone手機的device-height(裝置高)值即可區別iPhone4和iPhone5

使用css

通過 CSS3 的 Media Queries 特性,可以寫出相容iPhone4和iPhone5的程式碼~~

方式一,直接寫到樣式裡面

@media (device-height
:480px) and (-webkit-min-device-pixel-ratio:2){/* 相容iphone4/4s */ .class{} } @media (device-height:568px) and (-webkit-min-device-pixel-ratio:2){/* 相容iphone5 */ .class{} }

方式二,連結到一個單獨的樣式表,把下面的程式碼放在標籤裡

<link rel="stylesheet" media="(device-height: 480px) and (-webkit-min-device-pixel-ratio:2)" href="iphone4.css"
/> <link rel="stylesheet" media="(device-height: 568px)and (-webkit-min-device-pixel-ratio:2)" href="iphone5.css" /> 使用JS //通過高度來判斷是否是iPhone 4還是iPhone 5 isPhone4inches = (window.screen.height==480); isPhone5inches = (window.screen.height==568);

相關推薦

[webkit移動開發筆記]相容iPhone4iPhone5方法

摘要: [iPhone 4帶來的革新,retina display絕對是最吸引眼球的一項。正是依賴這視網膜顯示屏,iPhone 4的解析度達到了640×960 pixels,不過為了保持向下相容性,它採用的仍然是320×480 points。也就是說,在不進行

webkit移動開發筆記:html5中video與audio標籤無法自動播放的audio元素

HTML5新增了video元素和audio元素,替代了傳統HTML4使用複雜的object元素與embed來播放視訊或者音訊的方法。這次的一個專案,產品經理要求手機載入開始時播放音樂,想到播放音樂,又是在ios和android平臺,那audio元素必然是首選。 一、audio的基本知識  audio:

Android開發筆記工具類使用靜態方法與單例物件方法的優劣

最近在做專案開發的時候用到了很多工具類,之前對工具類的理解僅限於使用靜態方法,沒有細究.寫了很多有損app執行效能的程式碼.例如在靜態方法內建立了例項物件,這樣讓靜態方法持有物件,使得物件一直存在與記憶體中,無法被GC回收,佔用記憶體,影響效能和使用者體驗

開發筆記詳述 JAVA 建構函式程式碼塊本身及其執行細節

今天在JAVA的研究學習當中發現了建構函式這個神奇但是麻煩的東西, 他在給我感覺很像OC語言中的initWith..., 但是在細節上有很多的不同, 而程式碼塊這個東西更是讓我這個敲iOS的眼前一亮, 後來針對程式碼塊這個東西的功能和執行的順序深究了一番. 首先說說建構函式 開頭說道這個

Kinect開發筆記三Kinect開發環境配置具體解釋

pc2 1.0 微軟 .aspx 技術分享 連接 實驗 family 不同 0、前言: 首先說一下我的開發環境,Visual Studio是2013的,系統是win8的64位版本號,SDK是Kinect for windows

Modbus庫開發筆記二:Modbus消息幀的生成

不同的 command dwr 分別是 slave 識別碼 align 數據格式 .com 前面我們已經對Modbus的基本事務作了說明,也據此設計了我們將要實現的主從站的操作流程。這其中與Modbus直接相關的就是Modbus消息幀的生成。Modbus消息幀也是實現Mod

Modbus庫開發筆記四:Modbus TCP Client開發

creat 需要 修改 status command 協議格式 sin 服務器端 這一 這一次我們封裝Modbus TCP Client應用。同樣的我們也不是做具體的應用,而是實現TCP客戶端的基本功能。我們將TCP客戶端的功能封裝為函數,以便在開發具體應用時調用。 對於T

Modbus庫開發筆記五:Modbus RTU Slave開發

edm hold 還需 add rtu 需要 man access 服務器端 Modbus在串行鏈路上分為Slave和Master,這一節我們就來開發Slave。對於Modbus RTU從站來說,需要實現的功能其實與Modbus TCP的服務器端是一樣的。其操作過程也是一樣

Modbus庫開發筆記六:Modbus RTU Master開發

客戶端 hold 不同的 rtu 客戶 and 一個 服務器端 操作 這一節我們來封裝最後一種應用(Modbus RTU Master應用),RTU主站的開發與TCP客戶端的開發是一致的。同樣的我們也不是做具體的應用,而是實現RTU主站的基本功能。我們將RTU主站的功能封裝

Modbus庫開發筆記七:Modbus其他輔助功能開發

puts sin weak oid 數據格式 _weak 解析 但是 大端 前面開發了各種應用,但是卻一直沒有提到一個問題,你就是對具體的數據進行讀寫操作。對於Modbus來說標準的數據有4種:線圈數據(地址:0000x)、輸入狀態量數據(地址:1000x)、保持寄存器數據

Modbus庫開發筆記九:利用協議棧開發Modbus TCP Server應用

數根 網絡 received ant getc multiple 利用 這不 tar 前面我們已經完成了Modbus協議棧的開發,但這不是我們的目的。我們開發它的目的當然是要使用它來解決我們的實際問題。接下來我們就使用剛開發的Modbus協議棧開發一個Modbus TCP

Python學習筆記文件

關閉 write finall 存儲路徑 大文件 描述 可選參數 針對 硬盤 打開文件:open(name[,mode[,buffering]]),返回一個文件對象,模式(mode)和緩沖(buffering)是兩個可選參數。 假設有一個名為somefile.txt的文件,

ELK 學習筆記 elasticsearch ShardSegment概念

tran article str 寫到 ext 壓力 執行 details 學習筆記 Shard和segment概念: 轉載: http://blog.csdn.net/likui1314159/article/details/53217750 Shard(分片)

Zeppelin 學習筆記 Zeppelin安裝elasticsearch整合

XML exp ado 8.0 elk mage search tor 選擇 Zeppelin安裝: Apache Zeppelin提供了web版的類似ipython的notebook,用於做數據分析和可視化。背後可以接入不同的數據處理引擎,包括spark, hive,

Python 學習筆記 day4 sictset

變慢 現象 重復 不存在 取出 .get 操作 新的 運行 dict -- dictionary 一組key的集合,包含key與value的對應。 Python內置的字典,在其他語言中成為map,使用key-value存儲,具有幾塊的查找速度。 和li

PID控制器開發筆記六:不完全微分PID控制器的實現

沒有 pan IV bsp 算法 濾波器 process 位置 之間   從PID控制的基本原理我們知道,微分信號的引入可改善系統的動態特性,但也存在一個問題,那就是容易引進高頻幹擾,在偏差擾動突變時尤其顯出微分項的不足。為了解決這個問題人們引入低通濾波方式來解決這一問題。

PID控制器開發筆記九:基於前饋補償的PID控制器的實現

傳遞 了解 都沒有 控制 結構體 控制器 基本 跟蹤 模型   對於一般的時滯系統來說,設定值的變動會產生較大的滯後才能反映在被控變量上,從而產生合理的調節。而前饋控制系統是根據擾動或給定值的變化按補償原理來工作的控制系統,其特點是當擾動產生後,被控變量還未變化以前,根據擾

spark筆記模式匹配樣例類

數組 object c spa 協調 一個 數據 好的 處理 zookeepe 階有一個十分強大的模式匹配機制,可以應用到很多場合:如開關語句,類型檢查等並且階還提供了樣例類,對模式匹配進行了優化,可以快速進行匹配。1.1。匹配字符串 package cn.itcast.c

嚴蔚敏老師版《資料結構》筆記基本概念術語

1. 什麼是資料結構 如果要寫好一個程式,必須分析待處理的物件的特性和物件之間的關係,這是“資料結構”形成和發展的背景。 “資料結構是一門研究非數值計算的程式設計問題中計算機的操作物件以及它們之間的關係和操作等的學科”。   2. 基本概念和術語: (1) 資料(

java學習筆記String,StringBuilderStringBuffer

String,StringBuilder和StringBuffer String是char[]+操作,由複製建立新物件進行操作,也就是char[]是不可變的,物件內容永不變。 StringBuilder是char[]+對此char[]陣列的操作,處理當前陣列不用複製重新建立,即ch