只是一個文檔總結,純粹是喜歡SF的Markdown。
<meta name="viewport" content="width=device-width,initial-scale=1,maximum-scale=1,user-scalable=no" />
配置頁面根font-size大小
(function ( doc, win ) { var win = window; var doc = win.document; var baseWidth = 640; var documentHTML = doc.documentElement; function setRootFont(){ var docWidth = documentHTML.getBoundingClientRect().width; var scale = docWidth / baseWidth; if (docWidth > 640) { scale = 1; } var p = scale*100; documentHTML.style.fontSize = p + 'px'; } setRootFont(); win.addEventListener('resize', setRootFont, false); })( document, window );
表單之 - 各個瀏覽器自帶的樣式javascript
表單之 - 輸入框的光標大小css
表單之 - 去掉input和select的默認樣式html
/* input和select的默認樣式取消 */ input,select{ outline: transparent dotted;border: 0;background: #fff; -webkit-appearance : none; -moz-appearance: none; -o-appearance: none; appearance: none; } /* input的placeholder修改,至於select下的option的字體顏色能夠直接控制select的color屬性 */ input::-webkit-input-placeholder,textarea::-webkit-input-placeholder { color: #ccc;font-size: 13px; } input:-moz-placeholder,textarea:-moz-placeholder { color: #ccc;font-size: 13px; } input::-moz-placeholder,textarea::-moz-placeholder { color: #ccc;font-size: 13px; } input:-ms-input-placeholder,textarea:-ms-input-placeholder { color: #ccc;font-size: 13px; }
表單之 - 重寫按鈕的樣式前端
表單之 - iOS機型點擊輸入框頁面會放大html5
<meta name="viewport" content="width=device-width, initial-scale=1.0, minimum-scale=1.0, maximum-scale=1.0, user-scalable=no" />
width - viewport的寬度 height - viewport的高度
initial-scale - 初始的縮放比例
minimum-scale - 容許用戶縮放到的最小比例
maximum-scale - 容許用戶縮放到的最大比例
user-scalable - 用戶是否能夠手動縮放
修改樣式java
&::-webkit-scrollbar { width: 4px } &::-webkit-scrollbar-track { border-radius: 4px } &::-webkit-scrollbar-thumb { background: rgba(255, 255, 255, .1); border-radius: 6px }
隱藏滾動條可是依然能夠滾動git
&::-webkit-scrollbar { display:none }
可是上述僅用於 webkit 瀏覽器,其餘瀏覽器見過一種思路是:在原有的 div外部套一層div,樣式內寫overflow:hidden; 使這個外部的div寬度小於內部出滾動條的div.內部div的樣式爲overflow-y:auto;overflow-x:hidden;。這樣,內部div的滾動條就被隱藏起來了,可是,此時依然能夠滾動。純css,div隱藏滾動條,保留鼠標滾動效果。github
iOS中彈性拉伸的現象web
解決:禁用那個層或者body的touchstart事件的默認行爲瀏覽器
// disabled touchstart event document.addEventListener('touchstart',function(event){ event.preventDefault(); }, false);
iOS禁用音視頻自動播放
解決:這個其實不能根本上解決問題,只能借用微信環境下,微信的 js-sdk 來實現自動播放。因此iOS的Safari瀏覽器依然是死角,不能作到自動播放。
wx.ready(() => { document.getElementById('audio').play(); })
追加:碰見 touchstart 和 touchend 事件,在 touchstart 時觸發音頻 a,在 touchend 時觸發音頻 b,可是若是長按時間過長,會出現 b 不播放或者播放延遲的現象。緣由是,音頻資源沒加載完成。
// 預設 this 環境 function preload() { wx.ready(() => { wx.getNetworkType({ success: () => { this.a = new Audio('a.mp3'); this.b = new Audio('b.mp3'); this.a.loop = true; this.a.load(); this.b.load(); } }); }); } // touchstart and touchend function start() { this.a.play(); } function end() { this.a.pause(); this.b.play(); }
iOS中DOM的onclick事件無效
Chrome瀏覽器默認最小字體是12px
Safari無痕模式下不支持sessionStorage.setItem()
——好記性不如爛筆頭