使用contenteditable+div模拟textarea文本域实现高度自适应 开发过程中由于需要在发送消息的时候需要有一个可以高度自适应的文本域,一开始是使用textarea并搭配auto-size插件来做到textarea的高度自适应,后来因为遇到一些问题,而且也多加了依赖缺乏可定制,所以决定使用contenteditable来实现. contenteditable介绍 contenteditable属性规定元素内容是否可编辑,是H5新增的属性,支持情况相当好,基本上所有的浏览器都兼容.…
by zhangxinxu from http://www.zhangxinxu.com本文地址:http://www.zhangxinxu.com/wordpress/?p=1362 一.关于textarea文本域以及高度自适应 textarea标签为表单元素,一般用在多行文字的输入.在web应用上常见的是评论输入框,微博信息输入框等.例如企鹅微博的输入框: 作为多行文本域功能来讲,textarea满足了我们大部分的需求.然而,textarea有一个不足就是不能像普通div标签一样高度可以跟随…
<!doctype html> <html lang="en"> <head> <meta charset="UTF-8"> <title>div模拟textarea文本域轻松实现高度自适应</title> <style> h2 { text-align: center; margin: 50px auto; } .test_box { width: 400px; min-heigh…
1.问题的出现: <textarea>标签为表单元素,但一般用于多行文本的输入,但是有一个明显的缺点就是不能实现高度自适应,内容过多就回出现滚动条. 为了实现高度自适应:用div标签来代模拟textarea文本域,实现高度自适应! 2.解决方案: HTML代码: <div class="test_box" contenteditable="true"><br /></div> // 变为可编辑模式 CSS代码: .te…
<!DOCTYPE html> <html> <head> <meta charset="UTF-8"> <title></title> <style type="text/css"> .a{ width: 600px; min-height: 50px; border: 1px solid #CCCCCC; } </style> </head> <bo…
用css控制textarea文本域的高度随内容的变化而变化,不出现滚动条. CSS代码: 复制代码 代码如下: .t_area{ width:300px; overflow-y:visible } <textarea class="t_area"> 随便在这里输入内容,textarea的高度会随着你输入的内容而变化,不会出现滚动条,实现很简单,就是一段css:overflow-y:visible </textarea> 首先,原则上实现textarea自适应必须…
对于支持HTML5浏览器有2种方法: 1. HTML5 <div contenteditable="plaintext-only"></div> 2.  CSS3 user-modify: read-write-plaintext-only; -webkit-user-modify: read-write-plaintext-only 非HTML5浏览器,参考以下JS 总结参考:http://www.cnblogs.com/sheshou/p/5416885.h…
之前在公司做项目的时候,有这么一个需求,要我写一个评论框,可以随着评论的行数增加而自动扩大,最开始我想用textarea实现,但是后来尝试后发现textarea并不适合,textarea的高度不会随着输入行数的增多而增大,于是我上网寻求了下帮助,发现大神张鑫旭的这篇文章<div模拟textarea文本域轻松实现高度自适应>,成功解决我的问题 代码如下: 1 <!DOCTYPE html> 2 <html lang="en"> 3 <head&g…
转载:http://www.xuanfengge.com/textarea-on-how-to-achieve-a-high-degree-of-adaptive.html 今天需要些一个回复评论的页面,设计师给的初始界面就是一个只有一行的框.然后当时就想这个交互该怎么实现比较好,然后想起了新浪微博的做法:点击评论,默认显示一行,当输入的文字超过一行或者输入Enter时,输入框的高度会随着改变,直到输入完毕.顿时觉得这个细节做得挺不错的,可以效仿下.下面分享2种实现textarea高度自适应的做…
有些Weber可能没有用过contenteditable这个属性,如果想编辑一个DIV里面的内容,这个属性是一个非常不错的选择   <div contenteditable="true">可以编辑里面的内容</div>  如果你在BODY里面加上contenteditable="true",可以发现该属性是多么的神奇.因此我们可以给HTML标签设置contenteditable="true"属性则可以对该标签进行编辑. c…