1.利用css穿透
常見發生場景:假如我們需要通過input,type=『file』來上傳檔案,而這個input的預設樣式,可以說是非常地「不人道」。所以我們希望通過一張,與這個input大小一樣,位置一致地蓋在上面。這個時候,顯然,這個時候點選,input是不會起作用的。就是因為img隔絕了click的穿透,而我們希望的是,這個img只是視覺上遮擋了input的樣式,但是點選的時候還是點選到input。所以,只要讓img可穿透即可。
css**如下:
1img
2.實現自定義原生select控制項的樣式
由於select移動端原生樣式很醜,但是原生彈出效果是符合我們設計的原則。直接修改select的樣式的時候,乙個奇怪的現象出現了,在chrome上除錯的時候,自己定義的樣式起了作用,在android手機上也起了作用,但是到了ios手機上就不行了,典型的不相容問題,這個時候禁用原生的樣式即可。
css**如下:
1none
;}
3.文字溢位處理
移動裝置相對來說頁面較小,很多時候顯示的一些資訊都需要省略部分。最常見的是單行標題溢位省略,多行詳情介紹溢位省略。
css**如下:12
3456
78910
1112
1314
15//單行
.single
//多行
.more
4.300毫秒的故事
移動裝置訪問的web頁面都是pc上的頁面。在預設的viewport(980px)的頁面往往都是需要「雙擊」或「捏開」放大頁面來看清頁面。而正是為了確認使用者是「雙擊」還是「單擊」。safari需要個300ms的延遲來判斷。而後來的iphone也一直沿用這樣的設計,再後來android也沿用了這樣的設計。於是,「300ms的延遲」就成了一道規範。
處理方法:
使用自定義tap事件代替click事件。 原理:在touchstart、touchend時記錄時間、手指位置,在touchend時進行比較,如果手指位置為同一位置(或允許移動乙個非常小的位移值)且時間間隔較短(一般認為是200ms),且過程中未曾觸發過touchmove,即可認為觸發了手持裝置上的click,一般稱它為「tap」。
5.tag透傳的解決方案
①.使用緩動動畫,過渡300ms的延遲。
②.中間層dom元素加入,讓中間層接受這個「穿透」事件,稍後隱藏。
③.「上下」都使用tap事件,原理上解決tap透傳事件(但不可避免原生標籤的click事件)。
④.改用fastclick的庫。
6.開啟彈性滾動
css**如下:12
34body
注意:android不支援原生的彈性滾動,但可以借助第三方庫iscroll來實現。
7.點選不靈敏
起因:由於使用touch觸發自定義tap事件,提速約200ms,但是touch事件對點選區域要求更大,偶有不觸發。
解決方案:
①同時使用touchend和click觸發tap事件,如果touchend已經處理,則click不處理。
②全域性捕獲click事件,如果click事件和tap事件的點選座標一致,且相差不到1s。則在捕獲階段阻止事件預設行為的同時取消冒泡。
8.chrome除錯快捷鍵
①ctrl+shift+f 全文查詢
②ctrl+o 查詢檔案名
③ctrl+shift+o 查詢js函式名
9.彈性
主要用在百分比布局中,用乙個父標籤包裹img標籤,父元素的寬度用**查詢來改變。
css**如下:12
3img
10.一畫素邊框設定
很多時候,想保持邊框的大小在任何設定上都是1px,但是因為1px使用2dp渲染,也就是說會顯示為2px大小。所以,要採用css3縮放一下。
css**如下:12
3456
78910
1112
1314
.folder li
.folder li+li:before
**自::
了解一下一些新詞or 舊詞
c2c consumer to consumer c2c實際是電子商務的專業用語,是個人與個人之間的電子商務。c2c即消費者間 因為英文中的2的發音同to,所以c to c簡寫為c2c。c指的是消費者,因為消費者的英文單詞是consumer,所以簡寫為c,而c2c即 consumer to cons...
電腦下一些常用快捷鍵,了解一下
ctrl快捷鍵 ctrl s 儲存 ctrl w 關閉程式 ctrl n 新建 ctrl o 開啟 ctrl z 撤銷 ctrl f 查詢 ctrl x 剪下 ctrl c 複製 ctrl v 貼上 ctrl a 全選 ctrl 縮小文字 ctrl 放大文字 ctrl b 粗體 ctrl i 斜體 ...
大概總結了一下jQuery的一些基礎知識點
jquery目前在web前端開發所佔的比重越來越高,在我們jquery學習和開發的過程中都會去使用。jquery幫我們解決了瀏覽器之間js一些不相容的地方和簡化了原生js對dom的操作。1 jquery可以載入多個ready函式,而原始的js只能載入一次onload 2 用dom物件得到的物件不能使...