總結一下一些知識。

2022-05-18 15:28:49 字數 2212 閱讀 6689

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物件得到的物件不能使...