如何改变宽度和高度的文本区域,根据其内容的大小
How to change the width and height of a textarea according to the size of its content?
文本区域的高度和宽度是否可以根据其内容进行更改?不需要滚动条。
HTML:<td valign="top" width="100%">
<textarea class="msg"> everything is good.. </textarea>
</td>
CSS: .msg{
padding:20px;
color:#fff;
font-size:18px;
height:auto;
line-height:30px;
-webkit-border-radius: 3px;
-moz-border-radius: 3px;
border-radius: 3px;
white-space:normal;
word-wrap:break-word;
resize:none;
overflow:hidden;
}
您可以使用scrollWidth
和scrollHeight
来更新元素的样式,以匹配其内容的尺寸。
使用jQuery:元素。scrollWidth read-only属性返回元素内容的宽度(以像素为单位)或元素本身的宽度,以较大者为准。如果元素的宽度大于其内容区域(例如,如果有滚动条用于滚动内容),则scrollWidth大于clientWidth。
元素。scrollHeight read-only属性用于测量元素内容的高度,包括由于溢出而无法在屏幕上显示的内容。scrollHeight值等于元素所需的最小clientHeight,以便在不使用垂直滚动条的情况下适合视点中的所有内容。它包括元素的padding,但不包括它的margin。
var msg = $('.msg');
msg.css('width', msg[0].scrollWidth);
msg.css('height', msg[0].scrollHeight);
然而,当内容变小时,它似乎并没有收缩。
我们可以通过在检查尺寸之前强制一个更小的尺寸来缩小它,本质上是重置最小可能的尺寸。
msg.css('width', 1);
msg.css('height', 1);
msg.css('width', msg[0].scrollWidth);
msg.css('height', msg[0].scrollHeight);
相关文章:
- onkeyup无法动态创建多个文本区域
- 具有所有样式的文本正在复制到可编辑文本区域
- 在文本区域POST后解码JSON
- HTML文本区域文本到XML
- 阻止在文本区域/文本框中输入数字
- 使用 javascript 单击图片后更改<文本区域>文本
- 使用 javascript 检测文本区域/文本输入中的 HTML 标记,但它应该支持常见的>和<
- 在按 Tab 键时选择文本区域文本
- 切换文本区域文本,但保留对文本的更改
- 清除文本区域/文本框内容的按钮
- 加载页面时,聚焦并全选文本区域文本
- 如何使可编辑文本区域文本不可选择
- 我的文本区域文本是't用javascript将我想要的样式设置为CSS
- 使用jQuery将文本区域文本安全地存储在隐藏字段中,然后稍后在PHP中使用该文本
- 删除文本区域文本提交在新的选项卡
- 如何在添加新文本时保持文本区域文本静态
- 使用 jQuery 将文本区域文本设置为格式正确的 HTML 代码
- 为什么文本添加到区域文本是通过页面刷新,而不是直接刷新
- 使用 jquery 修改文本区域文本
- 如何使用Javascript在文本区域(文本框)中单击(光标闪烁)而不使用鼠标单击