之前在公司做项目的时候,有这么一个需求,要我写一个评论框,可以随着评论的行数增加而自动扩大,最开始我想用textarea实现,但是后来尝试后发现textarea并不适合,textarea的高度不会随着输入行数的增多而增大,于是我上网寻求了下帮助,发现大神张鑫旭的这篇文章《div模拟textarea文本域轻松实现高度自适应》,成功解决我的问题

代码如下:

 1  1 <!DOCTYPE html>
 2  2 <html lang="en">
 3  3 <head>
 4  4     <meta charset="UTF-8">
 5  5     <title>div模拟textarea自适应高度le>
 6  6     <style type="text/css">
 7  7         .test_box{ 8  8             width:500px;
 9  9             min-height:200px;
10 10             max-height:600px;
11 11             _height:200px;/*兼容IE6浏览器*/
12 12             margin:0 auto;
13 13             padding:3px;
14 14             outline:0;
15 15             border:1px solid #e4e4e4;
16 16             font-size:12px;
17 17             word-wrap:break-word;/*用于英文文本自动换行,所有主流浏览器支持*/
18 18             overflow-x:hidden;
19 19             overflow-y:auto;
20 20             -webkit-user-modify: read-write-plaintext-only;
21 21         }
22 22     </style>
23 23 </head>
24 24 <body>
25 25     <div class="test_box" contenteditable="true">我是模拟textarea的div</div>
26 26     <script type="text/javascript">
27 27         if (typeof document.webkitHidden == "undefined") {
28 28             // 非chrome浏览器阻止粘贴
29 29             box.onpaste = function() {
30 30                 return false;
31 31             }
32 32         }
33 33     </script>
34 34 </body>
35 35 </html>

其中有一两个从没见过的属性:

  • -webkit-user-modify: read-only | read-write | read-write-plaintext-only

    read-only 内容只读。
    read-write 内容可读写。
    read-write-plaintext-only 内容可读写,但粘贴内容中的富文本格式(如文本的颜色、大小,图片等)会丢失。内容类似于以纯文本显示。
  • contenteditable 属性规定是否可编辑元素的内容。
    true 规定可以编辑元素内容。
    false 规定无法编辑元素内容。

  

  再次感谢鑫大神(http://www.zhangxinxu.com/),分享了好多非常实用的经验,等将来能达到他那种高度,我也想写出好博客分享出来造福人类,哈哈,虽然还很遥远,继续fighting~

转载于:https://www.cnblogs.com/DTBelieve/p/5351475.html

div模拟textarea自适应高度相关推荐

  1. div模拟textarea文本域轻松实现高度自适应——张鑫旭

    by zhangxinxu from http://www.zhangxinxu.com 本文地址: http://www.zhangxinxu.com/wordpress/?p=1362 一.关于t ...

  2. div模拟textarea文本框,输入文字高度自适应,且实现字数统计和限制

    需求: 文本框可根据输入内容高度自适应,不带滚动条,高度可变的那种,我搜索了很多,发现textarea无法实现我的需求,scrollHeigh这个无法获取实际内容的高度(我用的是那种简单的,可能我写的 ...

  3. [html] 用一个div模拟textarea的实现

    [html] 用一个div模拟textarea的实现 上面的代码实现了div变为可编辑状态,但是textarea标签可以在右下角自由拉伸<div class="edit" c ...

  4. 小程序中textarea自适应高度的问题

    在学习小程序过程,在textarea的使用上,碰到过两个问题,这里分享一下: 一.设置style里的height属性无效 解决方法: /*XXX.wxss*/ page{height: 100%; } ...

  5. div模拟textarea在ios下不兼容的问题解决

    今天发现一个好东西,赶紧记下来,我在用textarea的时候,想要自适应高度,这样就不会出现滚动条.网上找了很多,都是用div模拟的,但是好扯淡,div模拟的在ios下不能聚焦并且不能输入.真坑... ...

  6. div模拟textarea文本域轻松实现高度自适应

    2019独角兽企业重金招聘Python工程师标准>>> .app-box-content {     min-width: 400px;     min-height: 120px; ...

  7. 用DIV模拟TEXTAREA【QQ空间说说对话框】

    <script language="javascript"> function show(){if(document.getElementById("mydi ...

  8. vue模拟textarea自动高度

    父组件 <template><div><autoHeight :text="text" @change="list">< ...

  9. vue-textarea 自适应高度

    需求简介 一个搜索页面,上面输入框,下面列表展示搜索到的结果. 重点是:产品要求搜索框默认显示一行,当输入的文字超过一行时,输入框的高度会随着改变,直到输入完毕. 解决思路设想 本想利用textare ...

最新文章

  1. activeRecord 绑定属性的属性
  2. weblogic10异常:org.hibernate.hql.ast.HqlToken
  3. 北京工业计算机考研科目,2020北京工业大学计算机考研初试科目、参考书目、招生人数汇总...
  4. Linux学习总结(67)——shell脚本中$0 $1 $# $@ $* $? $ 等总结
  5. MySQL常见的库操作,表操作,数据操作集锦及一些注意事项
  6. 【改进】用Log4net建立日志记录
  7. python和java哪个好-现在Java和Python哪个前景更好?
  8. Matlab之程序的暂停与中止
  9. java雪花纷飞_终于理解白雪比喻句
  10. JSONObject.parseObject和JSONObject.fromObject
  11. 用算法去扫雷(go语言)
  12. Java 从入门到放弃?
  13. hbuilderX上传微信小程序报错
  14. 安装Chrome插件-ChroPath
  15. Single-Shot Object Detection with Enriched Semantics 论文笔记
  16. ECC加密;easy_ECC
  17. QQ 引流引发的灰色地带产业
  18. MacBook安装Windows Server(非虚拟机)
  19. 现代汽车、欧莱雅、贝壳找房、信达生物、诺维信等公司高管变动
  20. uniapp开发APP实现导航栏顶部搜索功能

热门文章

  1. Laravel学习笔记(二)
  2. Windows程序的基本结构(转)
  3. File类的使用(java)
  4. [转] ASP.NET1.1(C#)中验证码产生的原理及应用
  5. 软件开发的比喻:园艺
  6. Shell编程常用命令
  7. 匿名内部类,就是内部类的简写格式。
  8. 异构计算架构师眼中的AI算法(object detection)
  9. pl/sql command window 初步接触
  10. UIUC同学Jia-Bin Huang收集的计算机视觉代码合集