日韩性视频-久久久蜜桃-www中文字幕-在线中文字幕av-亚洲欧美一区二区三区四区-撸久久-香蕉视频一区-久久无码精品丰满人妻-国产高潮av-激情福利社-日韩av网址大全-国产精品久久999-日本五十路在线-性欧美在线-久久99精品波多结衣一区-男女午夜免费视频-黑人极品ⅴideos精品欧美棵-人人妻人人澡人人爽精品欧美一区-日韩一区在线看-欧美a级在线免费观看

歡迎訪問 生活随笔!

生活随笔

當前位置: 首頁 > 编程资源 > 编程问答 >内容正文

编程问答

移动端那些事儿(四)移动端开发注意事项

發布時間:2024/1/18 编程问答 23 豆豆
生活随笔 收集整理的這篇文章主要介紹了 移动端那些事儿(四)移动端开发注意事项 小編覺得挺不錯的,現在分享給大家,幫大家做個參考.

前言

之前總結了移動端那些事兒(一)移動端開發注意事項。具體地址是:http://blog.csdn.net/qq_39198420/article/details/77848222 里面羅列了一下手機網站常見問題,本文再在其基礎上,補充一些。

一、h5網站input 設置為type=number的問題

h5網頁input 的type設置為number一般會產生三個問題,一個問題是maxlength屬性不好用了。另外一個是form提交的時候,默認給取整了。三是部分安卓手機出現樣式問題。

問題一解決,我目前用的是js。如下

<input type="number" oninput="checkTextLength(this ,10)"> function checkTextLength(obj, length) { if(obj.value.length > length) { obj.value = obj.value.substr(0, length); } }

問題二,是因為form提交默認做了表單驗證,step默認是1,要設置step屬性,假如保留2位小數,寫法如下:

<input type="number" step="0.01" />

關于step,我在這里做簡單的介紹,input 中type=number,一般會自動生成一個上下箭頭,點擊上箭頭默認增加一個step,點擊下箭頭默認會減少一個step。number中默認step是1。也就是step=0.01,可以允許輸入2位小數,并且點擊上下箭頭分別增加0.01和減少0.01。

假如step和min一起使用,那么數值必須在min和max之間。

看下面的例子:

<input type="number" step="3.1" min="1" />

輸入框可以輸入哪些數字?

首先,最小值是1,那么可以輸入1.0,第二個是可以輸入(1+3.1)那就是4.1,以此類推,每次點擊上下箭頭都會增加或者減少3.1,輸入其他數字無效。這就是step的簡單介紹。

問題三,去除input默認樣式

input[type=number] {-moz-appearance:textfield; } input[type=number]::-webkit-inner-spin-button, input[type=number]::-webkit-outer-spin-button {-webkit-appearance: none;margin: 0; }

二、ios 設置input 按鈕樣式會被默認樣式覆蓋

解決方式如下:

input, textarea {border: 0; -webkit-appearance: none; }

設置默認樣式為none

三、IOS鍵盤字母輸入,默認首字母大寫

解決方案,設置如下屬性

<input type="text" autocapitalize="off" />

四、select 下拉選擇設置右對齊

設置如下:

select option { direction: 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延遲

300ms尚可接受,不過因為300ms產生的問題,我們必須要解決。300ms導致用戶體驗并不是很好,解決這個問題,我們一般在移動端用tap事件來取代click事件。

推薦兩個js,一個是fastclick,一個是tap.js

關于300ms延遲,具體請看:http://thx.github.io/mobile/300ms-click-delay/

七、移動端點透問題

案例如下:

<div id="haorooms">點頭事件測試</div><a href="www.haorooms.com">www.haorooms.com</a>

div是絕對定位的蒙層,并且z-index高于a。而a標簽是頁面中的一個鏈接,我們給div綁定tap事件:

$('#haorooms').on('tap',function(){ $('#haorooms').hide(); });

我們點擊蒙層時 div正常消失,但是當我們在a標簽上點擊蒙層時,發現a鏈接被觸發,這就是所謂的點透事件。

原因:

touchstart 早于 touchend 早于click。 亦即click的觸發是有延遲的,這個時間大概在300ms左右,也就是說我們tap觸發之后蒙層隱藏, 此時 click還沒有觸發,300ms之后由于蒙層隱藏,我們的click觸發到了下面的a鏈接上。

解決:

1、 盡量都使用touch事件來替換click事件。例如用touchend事件(推薦)。

2、用fastclick,https://github.com/ftlabs/fastclick

3 、用preventDefault阻止a標簽的click

4、延遲一定的時間(300ms+)來處理事件 (不推薦)

5、以上一般都能解決,實在不行就換成click事件。

下面介紹一下touchend事件,如下:

$("#haorooms").on("touchend", function (event) {event.preventDefault();});

八、消除 IE10 里面的那個叉號

input:-ms-clear{display:none;}

九、關于 iOS 與 OS X 端字體的優化(橫豎屏會出現字體加粗不一致等)

iOS 瀏覽器橫屏時會重置字體大小,設置 text-size-adjust 為 none 可以解決 iOS 上的問題,但桌面版 Safari 的字體縮放功能會失效,因此最佳方案是將 text-size-adjust 為 100% 。

-webkit-text-size-adjust: 100%; -ms-text-size-adjust: 100%; text-size-adjust: 100%;

十、關于 iOS 系統中,中文輸入法輸入英文時,字母之間可能會出現一個六分之一空格

可以通過正則去掉

this.value = this.value.replace(/\u2006/g, '');

十一、移動端 HTML5 audio autoplay 失效問題

這個不是 BUG,由于自動播放網頁中的音頻或視頻,會給用戶帶來一些困擾或者不必要的流量消耗,所以蘋果系統和安卓系統通常都會禁止自動播放和使用 JS 的觸發播放,必須由用戶來觸發才可以播放。

解決方法思路:先通過用戶 touchstart 觸碰,觸發播放并暫停(音頻開始加載,后面用 JS 再操作就沒問題了)。

解決代碼:

document.addEventListener('touchstart', function () {document.getElementsByTagName('audio')[0].play();document.getElementsByTagName('audio')[0].pause(); });

十二、移動端 HTML5 input date 不支持 placeholder 問題

這個我感覺沒有什么好的解決方案,用如下方法

<input placeholder="Date" class="textbox-n" type="text" onfocus="(this.type='date')" id="date">

有的瀏覽器可能要點擊兩遍!

方法二

input[type="date"]:before{content: attr(placeholder);color:#ddd; }

js部分

var o = document.getElementById('date'); o.onfocus = function(){this.removeAttribute('placeholder'); }; o.onblur = function(){if(this.value == '') this.setAttribute('placeholder','請輸入日期'); };

通過上面代碼應該就可以解決了!

十三、部分機型存在type為search的input,自帶close按鈕樣式修改方法

有些機型的搜索input控件會自帶close按鈕(一個偽元素),而通常為了兼容所有瀏覽器,我們會自己實現一個,此時去掉原生close按鈕的方法為

#Search::-webkit-search-cancel-button{display: none; }

如果想使用原生close按鈕,又想使其符合設計風格,可以對這個偽元素的樣式進行修改。

美化的話,請看http://www.haorooms.com/post/qd_ghfx 這篇文章的第五條!

十四、喚起select的option展開

zepto方式:

$(sltElement).trrgger("mousedown");

原生js方式:

function showDropdown(sltElement) {var event;event = document.createEvent('MouseEvents');event.initMouseEvent('mousedown', true, true, window);sltElement.dispatchEvent(event); };

十五、手機端一像素border設置

假如border所在div的class名字是haorooms

.haorooms:after, .haorooms:after {border-top: 1px solid #bfbfbf;content: ' ';display: block;width: 100%;position: absolute;left: 0;bottom: 0; }/* 1.5倍 */ @media only screen and (-webkit-min-device-pixel-ratio: 1.5), only screen and (min--moz-device-pixel-ratio: 1.5), only screen and (-o-min-device-pixel-ratio: 150/100), only screen and (min-device-pixel-ratio: 1.5) {.haorooms:after,.haorooms:after {-webkit-transform: scaleY(0.7);transform: scaleY(0.7);} }/* Retina 適配 */@media only screen and (-webkit-min-device-pixel-ratio: 2.0), only screen and (min--moz-device-pixel-ratio: 2.0), only screen and (-o-min-device-pixel-ratio: 200/100), only screen and (min-device-pixel-ratio: 2.0) {.haorooms:after,.haorooms:after {-webkit-transform: scaleY(0.5);transform: scaleY(0.5);} }/* 三倍屏 適配 */@media only screen and (-webkit-min-device-pixel-ratio: 2.5), only screen and (min--moz-device-pixel-ratio: 2.5), only screen and (-o-min-device-pixel-ratio: 250/100), only screen and (min-device-pixel-ratio: 2.5) {.haorooms:after,.haorooms:after {-webkit-transform: scaleY(0.33333334);transform: scaleY(0.33333334);} }

總結

以上是生活随笔為你收集整理的移动端那些事儿(四)移动端开发注意事项的全部內容,希望文章能夠幫你解決所遇到的問題。

如果覺得生活随笔網站內容還不錯,歡迎將生活随笔推薦給好友。

主站蜘蛛池模板: 67194在线免费观看 | 亚洲爽爆| 99九九视频 | 国产福利二区 | 韩国一区二区在线播放 | 中文字幕精品三级久久久 | 日本阿v视频在线观看 | 男人的天堂在线观看av | 日韩久久影院 | 九九视频免费 | 在线观看av网站 | 亚洲iv一区二区三区 | 办公室大战高跟丝袜秘书经理ol | 欧洲成人在线 | 老司机av影院 | 蜜臀久久99精品久久久久久宅男 | www夜片内射视频日韩精品成人 | 日本精品在线看 | 日本a在线 | 亚洲电影一区二区三区 | 日韩高清影视 | 人妻大战黑人白浆狂泄 | 午夜激情导航 | 男女黄网站 | 尤物在线免费观看 | 欧美激情一区二区三区免费观看 | 精品1区2区 | 99久久人妻精品免费二区 | 国产精品自在线 | 狠狠狠狠狠狠干 | 色小说香蕉 | 奇米四色在线视频 | 午夜免费在线 | 成人av观看 | 无码精品a∨在线观看中文 福利片av | 日韩经典午夜福利发布 | 少妇真实被内射视频三四区 | www.波多野结衣.com | 在线观看的av网址 | 国产一级理论片 | 东北毛片| 国产明星换脸xxxx色视频 | 欧美图片自拍偷拍 | 嫩草国产在线 | 国产色图片 | mm131国产精品 | 日韩亚洲第一页 | 黄色网址在线播放 | 伊人手机视频 | 午夜宅男影院 | 久久精品人人做人人爽 | 强公把我次次高潮hd | 日韩欧美视频免费在线观看 | 久久久久亚洲av无码专区首jn | 日韩精品一区二区三区在线 | 宅男午夜影院 | 成人精品一区二区三区 | fc2ppv色の美マンに中出し | 在哪里可以看黄色片 | 免费se99se| 久久免费视频3 | 国产精品不卡一区二区三区 | 欧美黄色网络 | 麻豆av电影网 | 99久久婷婷国产综合精品 | 久久精品国产亚洲av高清色欲 | 欧美日韩一区二区三区 | 天天干天天插天天操 | av影视在线观看 | 日韩精品在线一区二区 | 大地资源二中文在线影视观看 | 三级黄色在线视频 | 狠狠干视频网 | av在线www| 欧美三日本三级少妇99 | 麻豆av一区 | 在哪里可以看毛片 | 欧美性xxxxx| 国产精品一区二区免费视频 | 亚洲精品国产精品国自产网站按摩 | 九色视频在线观看 | 国产真人做爰视频免费 | 欧美成人不卡视频 | 亚洲第一网站 | 少妇一级淫片免费观看 | 男女视频在线免费观看 | 91在线视频在线观看 | 亚洲一区二区三区婷婷 | 国产91绿帽单男绿奴 | 九热视频在线观看 | 亚洲综合不卡 | 国产chinese | 国产91页| 69堂在线观看 | 国产午夜一级一片免费播放 | 日韩三级a | 麻豆激情网 | 色婷婷六月 | 蜜臀av性久久久久蜜臀aⅴ麻豆 |