H5时代的多行文本框

说起输入框,大家都耳熟能详了,今天跟大家谈一谈H5时代的多行输入框!首先一起回顾下输入框在PC端的应用:

说起输入框,大家都耳熟能详了,今天跟大家谈一谈H5时代的多行输入框!

首先一起回顾下输入框在PC端的应用:

PC端多行输入框的实现及问题

多行输入框,毫无疑问,大家都会想到表单元素textarea标签,在WEB应该用上常见的是评论输入框,微博信息输入框等,它们有着如下的共同点:

  • 有默认高度(默认三行文字的高度);
  • 有最大高度;
  • 超过最大高度即出现垂直滚动条;
  • 在页面最顶端,有实际占位

实现方法一:

比如:企鹅微博

H5时代的多行文本框

方法一问题:由于超过默认高度后,高度需要实现随内容自动撑开的视觉效果。目前大部分的实现方法是:通过js检测是否产生滚动条来确定显示文本域的高度是否动态增加!对于不会js的小白有没有更适合的方案呢!当然有的!

方法二:div模拟textarea文本域及高度自适应

此种方法主要使用的是contenteditable标签属性,即允许用户编辑元素内容包含的任意文本,包括子元素!使用方法非常简单,只需要在block元素上加上contenteditable=”true”就可以了,如下demo:

H5时代的多行文本框

方法二问题:如果您是从其他页面上拷贝一段内容过来,然后粘贴到可编辑模式下的div中,会连HTML也完整的复制过来的,这种情况下就需要对输入的内容进行HTML字符过滤。

这两种解决方案同样也适用于H5页面!

H5端多行输入框的实现

H5及移动设备上输入框有着如下的共同点:

  • 有默认高度(一般容纳一行内容的高度);
  • 有最大高度;
  • 超过最大高度即出现垂直滚动条;
  • 在页面最底端,输入内容会呼出键盘;

如下图类似微信客户端的输入:

H5时代的多行文本框

上面提到的PC端的两种方法也可以实现此效果,同样的有以下问题:

一、textarea:需要通过js检测来动态增加高度,这在移动端,并不是很理想的实现方式;

二、用div模拟:键盘被唤醒的时候会将固定在底部的输入框遮挡住一部分,无论是用absolute还是fixed,都会存在这样的问题! (不过不用担心,新的系统已经解决了这个问题!)

所以,在做H5的时候,第二种方法很值得一试!

 

来源:http://ued.ctrip.com/blog/?p=4033

原创文章,作者:Catherine,如若转载,请注明出处:https://www.iamue.com/32269/

(0)
CatherineCatherine
上一篇 2017-06-04 16:29
下一篇 2017-06-04 19:34

相关推荐

  • 交互设计案例-闲鱼产品分析

    闲鱼·产品分析 Completion Date    Completer    闲鱼Versions       Phone Type March 11,2015     niu hang      V_2.1.3_Android     MEIZU MX4 Pro 1.战略层 用户需求:闲置物品的买卖(包括且不限制于二手物…

    2015-05-07
  • 新交互时代:自然用户界面中的“自然”到底是什么意思?

    一个理想的自然用户界面应当能让用户的注意力完全集中在所要从事的活动上,而忘记界面本身的存在,或者说,界面变得“透明”了。一位印度的同行为当地用户设计了一组用数字笔操作的界面。在进行用户测试时,他对其中一位用户说:“请拿起笔碰一下屏幕。”出乎他意料的是,这一看起来十分简单自然的操作,居然出了问题:这位用户没有用笔尖,而是把笔横过来整个贴在了屏幕上!经询问才知道原来他不识字,也从没用过笔。
    而另一位欧洲的同行为家庭用户在交互桌面上开发了一套软件,包括一些直观的手势交互,例如用两个手指相反方向移动做打开的手势来打开一个虚拟的储物箱。当他向用户家庭演示时,他想考考这个家中正上小学的孩子:“你试试看怎么打开这个箱子?”孩子二话不说,直接用食指在箱子上双击!隐喻指的是把用户界面中的概念比拟为一种人们熟悉的概念或现象,用于解释其交互方式,例如将图形界面元素比喻为大家熟悉的桌面、窗口等等。隐喻越贴切,越为用户熟悉,往往就意味着界面越自然。

    2017-05-14
  • Axure软件实现登录界面交互小教程

    先上效果图先首先在Axure里面布局好登录页面以及登录成功的页面(也就是红色的那个页面),在布局的过程中请输入账号以及请输入密码两个元件选择使用文本框元件。并编组好整个登录成功页。在布局好界面之后选中请输入账号的元件进行命,请输入密码的文本框也是一样的需要进行命名如图,将登陆成功页面进行编组命名,并且进行隐藏。然后选中账号输入框进行用例设置,选择获取焦点用例进行设置,选择用例动作中的设置文本如图步骤所示进行设置。同样的针对密码输入框进行...

    2018-04-07
  • 开发者从用户体验的角度聊《Getting Over it 》

    原文作者: Lars DoucetBennett Foddy制作的游戏向来都很奇怪,有时甚至会故意激怒玩家。尽管这类游戏完全不是我的菜,但我还是一玩就停不下来。Bennett最近刚刚发布了一款名为《和班尼特福迪一起攻克难关(Getting Over it with Bennett Foddy)》的游戏,它的灵感来源于一位捷克游戏开发者Jazzuo在2002年推出的一款B类游戏经典《迷人远足(Sexy Hiking)》。上述两部作品带有相...

    2018-03-21
  • 京东JDC交互设计揭秘:大促分会场-模块化设计方法总结

    写在前面 在电商的世界,似乎一切时间都可以和购物挂钩,5.20、6.18、11.11、12.12、年货…..;有购物节就要有各种各样的会场进行促销展示;面对越来越细分化的类目会场,作为设计师需要把多达几十个会场一一设计出…

    2017-06-12
  • 欧洲(非英国)交互设计申请攻略

    今天为大家带来欧洲(非英国)地区交互设计专业留学申请攻略,从学校/专业/费用等方便分析每个学校的优缺点,让大家在选择学校时更有的放矢。 1.代尔夫特理工大学/Technische Universiteit Delft 学位:Master of S…

    2015-11-04
  • 译文 | 交互设计的5大支柱

    文中提到的《交互设计最佳实践:卷1》/《用户体验设计文档指南》/《2014年Web UI模式》可在此处下载,建议先保存到网盘~

    2017-05-27
  • 关于交互设计师的工作内容,这篇讲得最全面!

    交互设计师的工作,并不仅仅是输出设计方案,我们需要参与前期的需求讨论、后期开发、测试验收等等产品设计与实现的多个环节。本篇将介绍我目前参与交互设计的工作流程以及各个阶段的工作职责。

    2017-05-18
  • 对于传统交互设计思维的一些反思

    在传统的交互设计流程中,比较看重从设计目标建立到最终方案推导过程的逻辑性、终端用户体验与用户心理认知模型的匹配性等,相关的 UCD 设计方法很多。可是,被我们奉为圭臬的那些经典交互设计流程与方法,真的足够好吗?

    2017-05-03
  • 交互设计师的60日计划之第三天

    此次分享的 [button type="info" text="交互设计师的60日计划" url="https://www.iamue.com/tag/interaction-designers-of-60-days" open_new_tab="false"] 来自 Killa.G 让我们一起跟着学习和并学会做自己的总结与…

    2015-08-20