文章目录
介绍基本语法属性注意
应用限制字数随内容扩大
textarea和input的text的区别
介绍
什么是textarea标签?在HTML中,像年龄,姓名这种用单行文本框就能搞定,但如果是多行文本,就需要用到textarea标签。textarea标签用于创建多行文本输入框。
基本语法
textarea标签必须闭合,有起始标签和结束标签,任何文本都应该放在起始和结束标签之间,没有文本将显示空白
属性
name:指定表单元素的名称 rows:指定文本框中的可见行数 cols:指定文本框中的可见字符数(列数) id:这是元素的唯一标识符,通常与 label 元素的 for 属性关联 placeholder:可以设置一个占位符文本,提示用户输入的内容。类似于输入框的 placeholder 属性 readonly:设置为 readonly 将文本域设置为只读,用户可以看到内容但无法修改 disabled:设置为 disabled 将禁用文本域,用户无法与之交互 maxlength:限制用户输入的最大字符数 wrap:定义文本在何处换行。可选值为 soft(在单词边界处换行)和 hard(在指定的列数换行) autofocus:设置为 autofocus 会在页面加载时自动将焦点设置在文本域上 required:设置为 required 会在提交表单时验证字段是否已填写
注意
在文本域中,rows 属性用来设置文本域的可见行数,也就是文本域的高度。当文本内容超出设置高度时,会出现纵向滚动条。用户拖动滚动条可以查看全部内容 如果要禁止拉伸文本框大小,可以用
resize: none;
当输入的文本超出设置的行数时自动显示滚动条
overflow:auto
有时候,为了文本输入和呈现的美观性,可以为文本框设置内边距。
应用
限制字数
在大多数实践应用中,都会用到文本框来限制字数。
还可输入: 100 字
document.getElementById('textarea').addEventListener('input', function() {
var maxLength = parseInt(this.getAttribute('maxlength'));
var currentLength = this.value.length;
var remaining = maxLength - currentLength;
document.getElementById('counter').innerText = '还可输入: ' + remaining + ' 字';
});
以上是实现限制字数的功能简单代码,在使用的时候可以自己设置样式。
随内容扩大
#textarea{
resize: none; /* 禁止浏览器默认的调整大小功能 */
overflow: hidden; /* 隐藏超出部分 */
padding: 5px; /* 为了更好的视觉效果 */
box-sizing: border-box; /* 确保 padding 和 border 不会增加元素的总宽度和高度 */
min-height: 50px; /* 设置最小高度 */
}
document.getElementById('textarea').addEventListener('input', function() {
this.style.height = 'auto'; // 重置高度
this.style.height = this.scrollHeight + 'px'; // 根据滚动高度设置高度
});
textarea和input的text的区别
input是通过将type属性设置为text,input标签可以获得与textarea标签类似的效果,但是input标签只能输入一行文本