安卓瀏覽器看背景圖片,有些設備會模糊
經過研究,是devicePixelRatio作怪,因為手機分辨率太小,如果按照分辨率來顯示網頁,這樣字會非常小,所以蘋果當初就把iPhone 4的960640分辨率,在網頁里只顯示了480320,這樣devicePixelRatio=2。現在android比較亂,有1.5的,有2的也有3的。
想讓圖片在手機里顯示更為清晰,必須使用2x的背景圖來代替img標簽(一般情況都是用2倍)。例如一個div的寬高是100100,背景圖必須得200200,然后background-size:contain;,這樣顯示出來的圖片就比較清晰了。
防止手機中網頁放大和縮小。
<meta name="viewport" content="width=device-width,initial-scale=1.0,maximum-scale=1.0,user-scalable=0" />
上下拉動滾動條時卡頓、慢
body {
-webkit-overflow-scrolling:touch;
overflow-scrolling: touch;
}
Android3+和iOS5+支持CSS3的新屬性為overflow-scrolling
長時間按住頁面出現閃退
element {
-webkit-touch-callout:none;
}
旋轉屏幕時,字體大小調整的問題
html, body, form, fieldset, p, div, h1, h2, h3, h4, h5, h6{
s-webkit-text-size-adjust:100%;
}
圓角bug
某些Android手機圓角失效
background-clip: padding-box;
IOS中input鍵盤事件keyup、keydown、keypress支持不是很好
用input search做模糊搜索的時候,在鍵盤里面輸入關鍵詞,會通過ajax后臺查詢,然后返回數據,然后再對返回的數據進行關鍵詞標紅。用input監聽鍵盤keyup事件,在安卓手機瀏覽器中是可以的,但是在ios手機瀏覽器中變紅很慢,用輸入法輸入之后,并未立刻相應keyup事件,只有在通過刪除之后才能相應!
解決辦法:
可以用html5的oninput事件去代替keyup
<input type="text"id="testInput">
<script type="text/javascript">
document.getElementById('testInput').addEventListener('input',function(e){
varvalue = e.target.value;
});
</script>
IOS鍵盤字母輸入,默認首字母大寫
select option {
Sdirection: rtl;
}
通過transform進行skew變形,rotate旋轉會造成出現鋸齒現象
可以設置如下:
-webkit-transform: rotate(-4deg) skew(10deg) translateZ(0);
transform: rotate(-4deg) skew(10deg) translateZ(0);
outline: 1px solid rgba(255,255,255,0)
移動端點擊300ms延遲
在移動端用tap事件來取代click事件。
推薦兩個js,一個是fastclick,一個是tap.js