常用的移動前端webapp交互細節


#常用的移動前端webapp交互細節


##select的表現方式
###PC端
select控件在傳統PC桌面已經存在多年,由於在IE6等低版本瀏覽器容易造成層級錯亂,一直被一些UI框架所拋棄,而用div層去模擬。
![傳統的select控件](https://images0.cnblogs.com/i/84053/201407/271218506505629.jpg)

###移動設備
而在移動設備上,select 控件的表現方式不太一樣,如下圖,分別是UC瀏覽器,小米的系統瀏覽器,及海豚瀏覽器的表現方式

UC瀏覽器表現形式小米的默認瀏覽器表現形式海豚瀏覽器表現形式

可以看出,為適應移動設備小屏幕的特征,很多瀏覽器都對此進行優化改造。

###原理與思考
此現象的根本原因,是html只有文檔標准,所以各個軟件(瀏覽器)的實現有其具體表現。的確,要進行web標准的交互,只能制定文檔層面的標准。但也帶來外觀不統一、控件表現、操作體驗不統一的問題。像UC就要在選擇之后進行二次確定,小米和海豚都不需要;小米的定位在底部,其他的都是居中表現的。

##單行數據內容過長的表現方式
###PC端
在新聞列表、文章標題列表的頁面,很容易出現標題比內容長的情況,在PC端的一般表現方式是**類似excel表格的列寬調整機制**,如圖(鼠標在上面拖動可以調整列寬):

![PC端的列表展現](https://images0.cnblogs.com/i/84053/201407/271238480577480.jpg)


http://www.jeasyui.com/demo/main/index.php?plugin=DataGrid&theme=default&dir=ltr&pitem=


或者可以利用**鼠標提示**來展現可能會超出范圍的文字


###移動設備
而在移動設備上,上述方案並不可行,但是我們可以用另外的表現方式:`swipe`。如[示范頁面](http://gh.p2227.com/m/swipe)所示

###原理與思考
原理是非常簡單的,在一個寬100px,overflow非hidden的容器里面放進200px的內容,容器會產生滾動條。然后結合觸摸設備的特點:滾動條並不占位置,並且是按住內容滾動的。這種表現方式就變得非常適應。


###組件化的swipejs
上面講到的表現非常原始,對於大批量應用,我們一般參考現成組件[swipe.js](http://swipejs.com/),利用它去處理(可能在一些UI框架已經集成了此表現方式)。基本原理還是利用滾動條,然后再加入了transform等新css3特征使之有一定的動畫效果並且接近原生的表現。

##按鈕的大小與間隔
###PC端
在鼠標指針控制的PC端,各功能按鈕可以非常小,並且可以放得非常緊湊,例如經典的window窗口右上角-□×三個按鈕(最小化最大化關閉),置於右上角是非常方便的,並且一般人也不容易按錯。

###移動設備
而在移動設備上,由於觸摸屏和人手指的特點,按鈕應該要做得大而有一定間距,如圖,我們按鈕的圖標可能如紅框所示,但是按鈕的功能有效區域應該是整個黑框。

![移動設備的按鈕](https://images0.cnblogs.com/i/84053/201407/272046475884820.jpg)


##最后的話
最后,自己評價一下吧,我覺得本文還是非常直觀的感覺與積累,並沒有進行太深入的分析與原理探索,主要還是想拋磚引玉,想跟大家一起討論一些用戶體驗的東西。


然后是自己的一些博文計划,列出來,讓自己經常記得要整理~
---狀態機
---fiddler應用(反向代理)
---angular的filter
---打包發布工具ant,grunt(工程化)


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM