#常用的移动前端webapp交互细节

##select的表现方式
###PC端
select控件在传统PC桌面已经存在多年,由于在IE6等低版本浏览器容易造成层级错乱,一直被一些UI框架所抛弃,而用div层去模拟。
![传统的select控件](https://images0.cnblogs.com/i/84053/201407/271218506505629.jpg) ###移动设备
而在移动设备上,select 控件的表现方式不太一样,如下图,分别是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(工程化)

常用的移动前端webapp交互细节的更多相关文章

  1. iOS开发笔记7:Text、UI交互细节、两个动画效果等

    Text主要总结UILabel.UITextField.UITextView.UIMenuController以及UIWebView/WKWebView相关的一些问题. UI细节主要总结界面交互开发中 ...

  2. 移动前端webApp开发点滴积累20140629

    #移动前端webApp开发点滴积累20140629 ##关于input行内居中的问题 给input设定一个比较高的高度,在某些版本的移动设备上,文字不能垂直居中,即使设定了相同的行高也不行.(见图) ...

  3. VScode常用几个前端插件live HTML previewer和debugger for chrome的配置

    之前一直都是用sublime Text和chrome配合来写前端的页面,自从知道了有liveReload这个神奇的插件之后感觉爽翻了啊.好吧跑远了........ 话说最近微软搞了个VScode,听说 ...

  4. 通过PHP前端后台交互/通过ajax前端后台交互/php基础传输数据应用/简单的留言版/简单的注册账户/简单的登录页/

      前  言  PHP     通过上一篇博客,注册账号与登录页面--前后台数据交互  跳转转到index主页,接下来进入主页留言板功能,通过ajax向后台传输数据,同时发表留言. 具体的内容分析如下 ...

  5. php 接口与前端数据交互实现

    最近在做前后端数据交互的尝试,也跳了很多坑,使用的是php+bootstrap-table+js,把一些收获记录在这里,方便查询. 这个小项目,仅有3个文件,分别为: crud.html data.p ...

  6. 移动前端webApp开发点滴积累20140524

    #webApp开发几点体会(移动前端) ##前言 本文旨在记录本人涉足移动webApp开发的几点体会,欢迎分享与指正. ##再见,IE678 移动设备,Android跟iPhone是主流,即使是win ...

  7. Java和操作系统交互细节

    结合 CPU 理解一行 Java 代码是怎么执行的 根据冯·诺依曼思想,计算机采用二进制作为数制基础,必须包含:运算器.控制器.存储设备,以及输入输出设备,如下图所示. enter image des ...

  8. 前端数据交互之json&ajax

    1.json json是 JavaScript Object Notation 的首字母缩写,单词的意思是javascript对象表示法,这里说的json指的是类似于javascript对象的一种数据 ...

  9. MongoDB 安装详细教程 + 常用命令 + 与 Python 的交互

    MongoDB 简介 MongoDB (名称来自 humongous/巨大无比的, 是一个可扩展的高性能,开源,模式自由,面向文档的NoSQL,基于 分布式 文件存储,由 C++ 语言编写,设计之初旨 ...

随机推荐

  1. [Python][小知识][NO.2] Python 字符串跨行连接,或拆分为多行显示

    1.前言 又是一个字符串很长,但又是一种格式的小字符串直接连接而成的大字符串. 这么我们拆成多行,即美感,又易于我们修改. 例如 文件选择框中的 通配符: wildcard = "Pytho ...

  2. JavaScript中的原型链和继承

    理解原型链 在 JavaScript 的世界中,函数是一等公民. 上面这句话在很多地方都看到过.用我自己的话来理解就是:函数既当爹又当妈."当爹"是因为我们用函数去处理各种&quo ...

  3. 最简单的java浏览器

    /** * Created by Admin on 2017/3/27. */ import java.awt.BorderLayout; import java.awt.Container; imp ...

  4. 自动化测试基础篇--Selenium中数据参数化之TXT

    摘自https://www.cnblogs.com/sanzangTst/p/7722594.html 一.搜索参数化 在TXT文件中保存需要搜索的内容: 测试代码: 1 #!/usr/bin/env ...

  5. Echars鼠标点击事件多次触发

    gChart.on('click', function (params) { if (params.componentSubType == "bar" && par ...

  6. 【audio】耳机插拔 线控按键识别流程【转】

    耳机插拔/线控按键识别流程 耳机插拔/线控按键识别流程 1.文档概述 本文以msm8909平台,android N为例,介绍了通用情况下,耳机插拔的流程步骤,以及对耳机类型的识别逻辑.以方便在项目工作 ...

  7. [Hive_7] Hive 中的 DDL 操作

    0. 说明 DDL(Data Definition Languages)语句:数据定义语言 这些语句定义了不同的数据段.数据库.表.列.索引等数据库对象的定义. 常用的语句关键字主要包括 create ...

  8. Debian9安装vim和vim无法右键鼠标粘贴解决方法

    问题描述: Debian9有时候安装的时候没有vim,在centos用习惯了vim 1.Debian安装vim: root@kvm1:/etc/network# apt-get install vim ...

  9. 4.5Python数据处理篇之Matplotlib系列(五)---plt.pie()饼状图

    目录 目录 前言 (一)简单的饼状图 (二)添加阴影和突出部分 (三)显示图例和数据标签: 目录 前言 饼状图需要导入的是: plt.pie(x, labels= ) (一)简单的饼状图 (1)说明: ...

  10. 【DB2基础】DB2编目和数据库连接

    1.编目节点和编目数据库 编目(Catalog),是在本地或远程建立客户端到服务器的数据库连接的过程.其目的在于获取编目信息,即生成用来访问数据库的目录. 系统数据库目录包含一个列表和指针,通过目录可 ...