html中用div代替textarea实现输入框高度随输入内容变化

项目中的需求:留言栏输入高度变化,超过1行时,自动伸展,超过4行后,不再伸展。主要思想是利用最小高度和最大高度,再加上overflow来实现,到了最大高度,文字不会溢出而是隐藏。根据文本框中字体的大小,高度需要适当调整。

代码:

<div id="leave-message-textarea" contenteditable="true" data-text="输入留言"></div>
#leave-message-textarea{
    width: 100%;
    min-height:20px;
    max-height:70px;
    outline: 0;
    border: 1px solid #000;
    font-size: 13px;
    overflow-x: hidden;
    overflow-y: auto;
    -webkit-user-modify: read-write-plaintext-only;
}

其中div的placeholder效果用data-text属性来实现,css代码如下:

[contentEditable=true]:empty:not(:focus):before{
    content:attr(data-text);
}
时间: 2024-10-12 14:57:27

html中用div代替textarea实现输入框高度随输入内容变化的相关文章

div模拟textarea以实现高度自适应实例页面

作为多行文本域功能来讲,textarea满足了我们大部分的需求.然而,textarea有一个不足就是不能像普通div标签一样高度可以跟随内容自适应.textarea总是很自信地显摆它的滚动条,高度固执地岿然不动.所以,有时候,为了增加交互体验想让文本域高度自适应的时候,就会遇到麻烦. <!DOCTYPE <!DOCTYPE html> <html> <head> <title>div模拟textarea以实现高度自适应实例页面</title>

td高度不随内容变化display:block;display:block;display:block;display:block;display:block;

在TD里加个DIV就可以解决!CSS对应改成#aaa td div{ height:236px; overflow:hidden; 在TD里加个DIV就可以解决!CSS对应改成#aaa td div{ height:236px; overflow:hidden; display:block;}}

css定位模拟投影,高度可随内容变化

效果如图: css: * {    padding: 0;    margin: 0;    list-style-type: none;}body {    padding: 20px 0 0 20px;}    #shadow {    background: #E8E8E8;    position: relative;    width: 250px;    margin: 20px 0 0 5px;    font: 12px/20px Arial;}    #content {   

textarea自动扩展高度(jquery实现)

项目中用到了textarea自动扩展高度的功能,网上查了几个都不太完善,稍微修改了一下,主要是添加了当内容删除时候的自动减少高度功能.如需指定textarea,修改选择器即可. $(document).on("input propertychange", "textarea", function (e) { var target = e.target; // 保存初始高度,之后需要重新设置一下初始高度,避免只能增高不能减低. var dh = $(target).a

div模拟textarea自适应高度

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

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

<style> .textarea{ width:400px; min-height:20px; max-height:300px; _height:120px; margin: 0 auto; padding:3px; outline:0; border:1px solid #a0b3d6; font-size:12px; line-height:24px; word-wrap:break-word; overflow-x:hidden; overflow-y:auto; } </st

textarea如何实现高度自适应?

转自:http://www.xuanfengge.com/textarea-on-how-to-achieve-a-high-degree-of-adaptive.html 今天需要些一个回复评论的页面,设计师给的初始界面就是一个只有一行的框.然后当时就想这个交互该怎么实现比较好,然后想起了新浪微博的做法:点击评论,默认显示一行,当输入的文字超过一行或者输入Enter时,输入框的高度会随着改变,直到输入完毕.顿时觉得这个细节做得挺不错的,可以效仿下.下面分享2种实现textarea高度自适应的做

html5 textarea 文本框根据输入内容自适应高度

<!DOCTYPE html> <html xmlns="http://www.w3.org/1999/xhtml"> <head> <meta http-equiv="Content-Type" content="text/html; charset=utf-8" /> <title>文本框根据输入内容自适应高度</title> <style type="t

textarea输入框实时统计输入字符数

1 <!DOCTYPE html> 2 <html> 3 4 <head> 5 <meta charset="UTF-8"> 6 <title></title> 7 <style type="text/css"> 8 #num { 9 color: red; 10 } 11 </style> 12 </head> 13 14 <body> 15 1