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

相关推荐

  • iOS 9人机界面指南(一):UI设计基础

    译者注:本文译自苹果官方人机界面指南 iOS Human Interface Guidelines (2015年10 月21日),由腾讯ISUX设计师翻译整理,非发文者一人之作。

    2017-06-02
  • 交互设计是什么?好学吗? 交互设计_百科,什么是交互设计?

    交互设计(Interaction Design) 作为一门关注交互体验的新学科在二十世纪八十年代产生了,它由IDEO的一位创始人比尔•莫格里奇在1984年一次设计会议上提出,他一开始给它命名为“软面(Soft Face)”,由于这个名字容易…

    交互设计 2015-01-05
  • 用户体验必读:将用户需求转成产品需求

    如何挖掘需求,来和大家聊聊如何全面分析收集好的需求,如何判断需求真伪。通常收集到的需求,绝大部分都是“用户需求”,所谓用户需求,是指听到用户说想要的东西,以及用户以为自己想要的东西,而产品经理要做的,就是思考如下三个问题:1、这个需求靠谱么?(需求的判断)2、这个需求真的是需求么?(需求的挖掘)3、怎么向别人讲清楚这个需求?(需求的描述)需求的判断产品经理先要判断这个需求是否靠谱,判断的标准就是需求是否有“价值”,这个价值,具体包括:用...

    2018-03-03
  • 用户体验设计师的进阶指南

    互联网行业大步流星、产品迭代周期越来越短,设计挑战日趋严峻。作为一名奋斗在前沿的设计师,你有多久没有更新自己的知识体系了呢?不论新人还是老司机,如何让自己的成长速度跟上行业的飞速发展,已然成为了一个重要命题。本文旨在帮助设计师正确、快速的成长,希望给进阶之路上的设计者们带来思考和启发(注:本文主要是指互联网产品设计、用户体验设计、交互设计、视觉设计等相关设计岗位)。我们认为,只有明确了努力的方向、找到了合适的方法、优化了学习的路径,才能...

    2018-03-14
  • QQ音乐年终盘点H5设计总结:音乐与色彩的次元幻想

    2016年是一个H5满天飞的年代,如何在众多牛气的H5中脱颖而出,留住用户关注和让朋友圈永无休止的不停传播呢?这也是一枚骚气且不隐忍的运营设计师一直研究琢磨的课题。这里拿QQ音乐年终盘点H5为例来解析下我对H5的次元幻想。

    2017-05-07
  • 如何建立交互设计自查表

    对于移动应用来说,移动情景非常复杂,设备也很多样。那么在设计之后,设计评审之前,你的交互稿考虑的细节是否完善,对特殊状态的描述是否有遗漏,你是怎么提前发现一些问题并查漏补缺的?为解决这个问题,我们团…

    2015-03-24
  • B2B vs. B2C 网站:关键用户体验差异

    尽管B2B网站和B2C网站有很多相似的地方,但B2B的客户却有着截然不同的需求。

    2017-05-14
  • 交互设计怎么入门呢?

    经常会有童鞋来问我:“交互设计如何入门?工业设计转行做交互设计的门槛高吗?用户体验和交互设计的区别是什么?”工业设计转行做交互的门槛并不高,就像工业设计需要考虑用户和实体产品之间的互动一样,交互设计更多的是考虑用户与界面之间的交互,只是换一个载体,其理论体系挺相似的。设计技能并不能弥补设计思维上的欠缺,技能只是一种表达方式,而Design Thinking才是最为核心的价值。基本概念浏览招聘网站上的讯息,就会发现UED,UX,UI等不同...

    2018-03-23
  • 减少返工!如何发现交互设计中的思维盲区?

    作为入行不久的交互设计师,我发现自己在交互设计的实践中无法顾及到方方面面,是存在思维盲区的。其中有欠缺经验的原因,也有自身知识局限的问题。进入开发阶段后,每次需要修改交互时,心里都会有些惭愧,感觉为…

    交互设计 2015-11-03
  • 两个交互设计鸿沟:评估与执行

    通过每次交互,用户都必须克服理解系统当前状态和了解如何改变系统当前状态的双重挑战。设计师可以通过意识到这些鸿沟并用透明的概念模型来消除这些鸿沟,从而为他们提供支持。上周,我买了一款很棒的新蓝牙耳机 ; 但遗憾的是,我花了一个多小时才把它连接到我的电脑上。尽管耳机手册和电脑支持网站作出了承诺,但耳机并未自动与计算机连接。我在重新阅读说明书之后,检查了耳机和电脑,确保它们都已打开,并且翻查了耳机评论以确认耳机与我的电脑兼容,甚至通过将耳机同...

    2018-03-13