1.问题的出现: <textarea>标签为表单元素,但一般用于多行文本的输入,但是有一个明显的缺点就是不能实现高度自适应,内容过多就回出现滚动条. 为了实现高度自适应:用div标签来代模拟textarea文本域,实现高度自适应! 2.解决方案: HTML代码: <div class="test_box" contenteditable="true"><br /></div> // 变为可编辑模式 CSS代码: .te…
by zhangxinxu from http://www.zhangxinxu.com本文地址:http://www.zhangxinxu.com/wordpress/?p=1362 一.关于textarea文本域以及高度自适应 textarea标签为表单元素,一般用在多行文字的输入.在web应用上常见的是评论输入框,微博信息输入框等.例如企鹅微博的输入框: 作为多行文本域功能来讲,textarea满足了我们大部分的需求.然而,textarea有一个不足就是不能像普通div标签一样高度可以跟随…
使用contenteditable+div模拟textarea文本域实现高度自适应 开发过程中由于需要在发送消息的时候需要有一个可以高度自适应的文本域,一开始是使用textarea并搭配auto-size插件来做到textarea的高度自适应,后来因为遇到一些问题,而且也多加了依赖缺乏可定制,所以决定使用contenteditable来实现. contenteditable介绍 contenteditable属性规定元素内容是否可编辑,是H5新增的属性,支持情况相当好,基本上所有的浏览器都兼容.…
<!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…
<!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…
对于支持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…
作为多行文本域功能来讲,textarea满足了我们大部分的需求.然而,textarea有一个不足就是不能像普通div标签一样高度可以跟随内容自适应.textarea总是很自信地显摆它的滚动条,高度固执地岿然不动.所以,有时候,为了增加交互体验想让文本域高度自适应的时候,就会遇到麻烦. <!DOCTYPE <!DOCTYPE html> <html> <head> <title>div模拟textarea以实现高度自适应实例页面</title>…
在最近项目要新增一个内容文章,文章包含一般的正文内容,其中正文中可以包含多张图片.文章最多包含一个音频文件.文章正文的上传功能我是通过textarea文本域绑定kindeditor编辑器实现的,而单独音频文件的上传是通过button按钮绑定kindeditor编辑器实现.因为项目主的并发访问量很小,上传之后的图片和音频保存在项目服务器的静态文件中. 1.textarea文本域绑定kindeditor编辑器 JS代码如下: <script type="text/javascript"…
无意中看到一篇博客介绍了contenteditable这个属性——不需用JS,只需在div里加上contenteditable="true",即可实现div模拟textrarea(文本域),让textrarea的高度随内容的增加而自动增加.当时就惊呆了,居然还有这种操作!!! <div id="textarea" contenteditable="true"></div> 原文博客 contenteditable属性介绍:…
用css控制textarea文本域的高度随内容的变化而变化,不出现滚动条. CSS代码: 复制代码 代码如下: .t_area{ width:300px; overflow-y:visible } <textarea class="t_area"> 随便在这里输入内容,textarea的高度会随着你输入的内容而变化,不会出现滚动条,实现很简单,就是一段css:overflow-y:visible </textarea> 首先,原则上实现textarea自适应必须…
<textarea> 标签定义一个多行的文本输入控件.但是它不能像div一样随着内容增加而自动增加,一言不合就出现滚动条,有是有为了更好的交互,可能需要使用div来模拟textarea的实现,直奔主题吧. 1.内容可编辑 contenteditable 对就是contenteditable,给div添加contenteditable=true即可: 2.demo //css div{ width: 400px; min-height: 100px; max-height: 300px; _he…
文章来源:http://www.cnblogs.com/jice/archive/2011/08/07/2130069.html <HTML> <HEAD> <TITLE>textarea宽度.高度自己主动适应处理方法</TITLE> <!-- 控制宽度的自己主动适应 --> <style type="text/css"> .comments { width:100%;/*自己主动适应父布局宽度*/ overflo…
<HTML> <HEAD> <TITLE>textarea宽度.高度自动适应处理方法</TITLE> <!-- 控制宽度的自动适应 --> <style type="text/css"> .comments { width:100%;/*自动适应父布局宽度*/ overflow:auto; word-break:break-all; /*在ie中解决断行问题(防止自动变为在一行显示,主要解决ie兼容问题,ie8中当…
今天突然有位前端的朋友问我textarea怎么实现高度随内容自增长,我一下子懵了,首先想到的是用js改变textarea的高度,但是百度了很多参考代码效果都不是很理想. 因为之前实际项目中用的textarea都是定死高度后超出实现滚动条的,如果不是对用户体验太在意的话没必要去搞什么高度自增长...... 然而优秀的设计都是眼里融不进沙子的,没有什么是不可能实现的,接下来就介绍下如何通过div来模拟一个textarea实现高度自增长(当然利用js也可以实现,但是个人感觉没有必要). ok,那么我就…
<!DOCTYPE html> <html lang="en"> <head> <meta charset="UTF-8"> <title>表单</title> </head> <body> <!--form表单--> <form> 用户名: <!--文本域--> <input type="text">…
1 <!DOCTYPE html> 2 <html lang="en"> 3 <head> 4 <meta charset="UTF-8"> 5 <title>Document</title> 6 <style type="text/css"> 7 .textarea{ 8 width: 300px; 9 border:1px solid #ccc; 10 min…
今天发现一个好东西,赶紧记下来,我在用textarea的时候,想要自适应高度,这样就不会出现滚动条.网上找了很多,都是用div模拟的,但是好扯淡,div模拟的在ios下不能聚焦并且不能输入.真坑.... 然后找了很久,发现了下面这个好东西,嘿嘿嘿,我给你看个宝贝. 这个就不需要去模拟啦,可以直接使用textarea. (function (root, factory) { 'use strict'; if (typeof define === 'function' && define.am…
一.使用textarea标签进行多行文本的输入有很多限制,比如不能实现高度自适应,会出现难看的滚动条等问题. HTML5中添加了一个新属性contenteditable,该属性可以让input,textarea以外的不可编辑的标签具备可编辑功能: 用法如下: //contenteditable="true" 当属性值为true的时候,可编辑标签内可以写入标签,对于复制的具有样式的内容,其样式会保留:<div contenteditable="true">…
需求 我们知道文本超出 textarea 高度后,textarea 就会出现滚动条,需求就是让 textarea 高度跟随文本高度变化,屏蔽滚动条,原来做过用js去监听文本行数,然后改变文本框的高度,这实在是麻烦,而且效果不佳,接下来就用简单的方法来实现. 实现 很简单,给 div 加上H5新属性 contenteditable 就行了,来看: <!DOCTYPE html> <html lang="en"> <head> <meta char…
textarea中换行问题 一旦用nl2br函数处理会多个\n导致十分难看 也无法形成文本框默认效果 前台的html如果用<br/>处理也会给后台的编辑造成困难 所以在编辑的时候这样处理 把\n字符串换成\n换行即可 编辑里的显示效果是这样的 当在前台显示的时候 就直接处理一下 显示为<br/>后即可 显示效果是这样的…
CSS3中新增了resize缩放属性,这个属性可以应用到任意元素.目前只有Webkit内核的浏览器才支持这个css3属性,即Google chrome和Apple safari都支持.而textarea标签中,Webkit内核的浏览器会默认resize的值为both,即用户可以调节元素的宽度和高度.如下图就是在Google chrome中我博客的textarea的默认显示,textarea右下角有一个可以控制缩放的按钮.一般情况下,textarea是被固定宽度和高度的,如果你不愿意让其任意缩放,…
<div class="card-content-inner" style="word-wrap:break-word;word-break:break-all;white-space:pre-line;" >显示的内容</div> 主要利用黑体部分的样式进行控制~解决了没有换行符时候字体跑出文本域外和有换行符时候文本也不换行的问题 2017-08-21…
<div contenteditable="true"> </div> 我们都知道默认的textarea无法自适应,一般情况下都是内容过多里面通过滚动条来滚动,但是用户体验非常不好,那么我们可以将一个div标签设置成可编辑的转态,默认里面的内容就默认自适应了,但是这个方法在iOS下无法使用,需要特殊处理…
效果图: html: <div> <form action=""> <div class="ta-div" contenteditable="true"><br /></div> <input type="button" value="发布" class="mtb60 btn btn-lg cf bgc-52c4d5 pct40&q…
vue实现复制内容到粘贴板   方案:找到textarea对象(input同样适用),获取焦点,选中textarea的所有内容,并调用document.execCommand("copy")   实现代码:   <template> <div> <textarea ref="letters"></textarea> <button @click="copyToClipboard('letters')&q…
最近在发现了一个问题,很是头疼,textarea值中有大量的制表符,尝试了很多办法,最终找到了解决办法,希望能帮到同样有此困扰的你. <textarea> <c:out value="${desc}"/> </textarea> 这么写就会出现上述问题,其实解决办法很简单,如下 <textarea><c:out value="${desc}"/></textarea>…
子组件: <template> <div class="item-address"> <span v-show="!hasAddress" class="address-placeholder">请输入详细地址</span> <div contenteditable="true" v-html="innerText" @input="chang…