清除手機瀏覽器默認樣式 問題積累

一、IOS上長按連接或者圖片會默認彈出系統菜單,-webkit-touch-callout 能夠禁止這個菜單的彈出(菜單默認是開啓的),安卓不起做用

a,img {html

-webkit-touch-callout: none;android

}ios


二、禁止選擇文本(若是沒有選擇文本須要,建議最好加上)

html,web

body {api

-webkit-user-select: none;app

-moz-user-select: none;字體

-ms-user-select: none;orm

user-select: none;htm

}對象

三、避免屏幕旋轉致使字體大小縮放

body {

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

}

四、透明度設置爲0,去掉點擊連接和文本框對象時默認的灰色半透明覆蓋層(iOS)或者虛框(Android)

body {

-webkit-tap-highlight-color: rba(255, 255, 255, 0);

}

利用此屬性,設置touch時連接區域高亮爲50%的透明紅,只在ios上起做用。android上只要使用了此屬性就表現爲邊框。在body上加此屬性,這樣就保證body的點擊區域效果一致了

body {

-webkit-tap-highlight-color: rba(255, 255, 255, 0);

}

五、隱藏地址欄

settTimeout(function (){

window.scrollTo(0, 1);

}, 0);

六、開啓電話、短信功能

// 電話

<a href="tel:10086">10086</a>

// 短信

<a href="sms:10086">10086</a>

// 郵箱

<a href="mailto:example@gmai.com">example@gmail.com</a>

七、判斷屏幕方向

switch (window.orientation){

case -90:

case 90:

alert("橫屏:" + window.orientation);

break;

case 0:

case 180:

alert("豎屏:" + window.orientation);

break;

}

八、關閉 IOS 輸入框首字母大寫

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

九、關閉 IOS 輸入自動修正

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

10.關閉 IOS 自動電話識別

<meta name="format-detection" content="telephone=no" />

11.想要去除文本框的默認樣式可使用-webkit-appearance,

-webkit-appearance: none;//消除輸入框和按鈕的原生外觀,在iOS上加上這個屬性才能給按鈕和輸入框自定義樣式

聚焦時候默認樣式的取消是-webkit-tap-highlight-color。

12-webkit-overflow-scrolling

-webkit-overflow-scrolling:touch;// 局部滾動(僅iOS 5以上支持)



一, 樣式問題

問題1: 適配Android 4.1 placeorder問題 對不齊,設置 height == line-height 無用

解決:line-height: normal;

問題2: 呼出 iOS 數字鍵盤

解決: 設置 input 的 type="tel"

問題3: 去掉 input 首字母大寫及聯想功能

解決: <input autocomplete="off" autocorrect="off" />

問題4: Android 下 input focus 高亮外框沒法消除

解決:

textarea, input{

-webkit-tap-highlight-color: rgba(255, 255, 255, 0);

-webkit-user-modify: read-write-plaintext-only;

outline: none !important;

}

問題5: OPPO input:button 或者 button 元素設置了圓角 border-radius 並設置了背景色時沒法蓋住背景色

解決: background-clip: padding-box;

問題6: 阻止被特定區域擋住的 DOM 元素響應事件

解決: pointer-events: none; 若是該特定區域內部須要響應事件,則將內部元素設置爲 pointer-events: auto;

問題7: 禁止 iOS 呼出菜單/保存圖片/新窗口打開連接/完全乾掉點擊效果

解決: -webkit-touch-callout: none;

相關文章
相關標籤/搜索