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

相关推荐

  • 为何设计师要学会做版本控制?

    XX项目视觉稿.PSD

    XX项目视觉稿新版.PSD

    XX项目视觉稿最新版.PSD

    未标题-1.PSD

    XX项目视觉稿最终版.PSD

    我已经不想做了.PSD

    XX项目视觉稿这个一定是最终版.PSD

    XX项目视觉稿最终的最终版.PSD

    这稿坚决不改了就这么着吧.PSD

    这个标题是凑字数的.PSD

    2017-05-24
  • 专业干货!一个特别好用的搜索框必须考虑的五个方面

    编者按:今天@励定洲 这篇译文开门见山,从搜索框的可见性、范围搜索、局部搜索、高级搜索以及输入五个方面聊聊如何设计出一个特别好用的搜索功能,内附大量实例(想知道谷歌搜索有哪个交互不好吗),结合实践,深入浅出,帮你掌握在线搜索的这五个方面。

    2017-06-02
  • 用户体验 | 6个细节成就了今天的X1 Carbon 2018(上篇)

    时光穿梭回到2012年,第一代ThinkPadX1 Carbon发布的时候的心情我清晰的记得。Think的意志清晰而明确,效率大屏+高强度轻薄+黑色商务气质。对于未来移动办公的理解,高端ThinkPad是什么样?如今的ThinkPad X1 Carbon 2018(Gen6)便是答案。Yonemochi San曾经坦言,曾经打造的ThinkPad X300正是如今X1 Carbon系列的“祖父”。碳纤维材料的应用,如出一辙的轻薄,不一味...

    2018-03-10
  • 无形的设计!聊聊为应用创建「一致性设计」的几个原则

    「一致性」可以理解为统一或者更通俗的规范,这篇文章有一定深度,作者从多方面阐述了一致性对于UI设计的重要性。最后给出了为应用创建“一致性设计”的几个原则。下面让我们来阅读发表在Medium上的,由交互设计师兼工程师的Joe Toscano创作的文章。我们在创造某些体验后,需要一些理由给它们做出定义。伟大的设计是无形的,因为他们具有一致性,并让人熟悉。

    2017-05-24
  • 灵兽奇谋之教你5招提升用户体验

    (来自梧桐树资本远方的祝福)007灵兽奇谋《灵兽奇谋》起源于我们携手100位行业大咖组成灵兽家族,每位家族成员都必须跟新零售007的粉丝们分享一篇,自己近年最干货的心得文章,可以是感悟,也可以是奇招,没有任何限制与约束,给予读者们干货与奇谋,是我们唯一的标准。每十篇奇谋为一季,2018年第一季,火热连载中。奇谋无高下,真诚见初心,谢谢每一位老师的付出,亦谢谢对面每一位乐于倾听的你。今晚灵兽奇谋来自灵兽家族代盐人兽哥,兽哥跟大家聊聊新零售...

    2018-02-11
  • 超全面!聊天机器人的界面交互设计实战经验总结

    最近在做智投App的机器人Neo的原型设计,是一个chatbot 聊天机器人 ,整理了一下关于 聊天机器人 设计的一些心得。一. 背景:这是Neo的第一个版本。Neo通过问答的方式了解用户的基本信息…

    2017-08-02
  • 向APP用户请求权限的正确姿势【UXRen译#188】

    作者:Nick Babich |  翻译:Gogi,校审:June Wang   你知道吗,平均每个APP在用户安装的前3天就会流失80%的日活用户。 大部分人下载一个APP后,用过一次就删除了。这是因为用户虽然会在一开始尝试使用大量的APP,…

    交互专题 2017-11-29
  • 未来交互设计:初心未变,可用的新视角

    Terry Cao是UXPin(一款线框图与原型制作APP)的内容策略专家。要了解如何掌握现在交互设计的艺术,可以参考免费的电子书籍《Interaction Design Best Practices》。这本书中含AirBnB、 Google、 Apple、Etsy 以及…

    2015-11-08
  • 交互实战|Web端表单项目总结

    本文作者分享了其所参与的Web端表单项目,enjoy~在拖放期间,需要处理许多特定的状态。我们把这些状态称为趣味瞬间(interesting moment)。书中提到,趣味瞬间是由15个事件与6个相关元素组合而成。

    2017-04-29
  • 客户体验,体验的是什么?

    近年来,“客户体验”成了一个很常用的词,但就像“创新”和“设计”一样,你实际上很难给它找到一个众所公认的明确定义,尽管许多企业都将改进客户体验视为一项差异化的竞争优势。可是,如果我们连某种东西的定义都说不清楚,又如何谈得上对其加以改进呢?

    2017-05-29