使用-webkit-min-device-pixel-ratio,您可以制作不同倍數和大小的圖片:
Android3+和iOSi5+支持CSS3的新屬性為溢出滾動。
通過將alpha值設置為0,可以移除此透明灰色遮罩。註意:android下transparent的屬性值無效。
方法1: body添加到touchstart。
方法2: js將touchstart或touchend事件綁定到文檔。
在移動端,如果妳給元素設置了像素邊框,它在手機上看起來會比壹個像素粗。
解決方法:用偽類元素模擬邊框,用transform縮放。
部分低端手機不支持css3mask,可以選擇性降級。
例如,js判斷可以用來指代不同的類:
pc端字體顯示正常,但出現真正的ios機,h1、span等標簽字體比較大。
有些安卓手機有圓角。背景剪輯:填充框;
在移動端,點擊事件是有效的,但是點擊之後會有300ms的延遲響應。
原因:safari是最早做這個機制的,因為在移動端,瀏覽器需要等待壹段時間來判斷用戶的操作是點擊還是雙擊,所以有click300ms的延遲機制,Android很快也會有。
使用自定義事件點擊,而不是點擊
Tap需要定制:如果用戶執行touchstart,短時間內觸發touchend,兩者之間的距離很小,不可能。
引入fastclick庫來解決這個問題。
在移動終端中,圖像處理應該非常謹慎。假設有壹張圖片,大小為X width,設置為和包裝它的div壹樣寬。如果div寬度小於圖片寬度,沒有問題,但是如果div寬度大於圖片寬度,圖片就會被拉伸變形。
解決方法:使圖片的最大尺寸只有自己的寬度。
img{
最大寬度:100%;
顯示:塊;
邊距:0自動;
}
例如:
Div是絕對定位掩碼,z-index高於A . A標簽是頁面中的鏈接,我們將tap事件綁定到div:
Div在我們點擊mask時正常消失,但是當我們點擊A頁簽上的mask時,發現A鏈接被觸發,也就是所謂的點擊通過事件。
原因:
Touchstart在touchend之前,click之前。也就是說click的觸發是延遲的,大概是300ms,也就是說tap觸發之後屏蔽是隱藏的。此時,click尚未被觸發。300毫秒後,我們的點擊觸發了下面的A鏈接,因為屏蔽是隱藏的。
求解:
1.嘗試使用觸摸事件而不是點擊事件。例如,使用touchend事件(推薦)
使用快速點擊
3.使用preventDefault停止標簽的點擊。