如何让textarea设置最大最小行数自适应
时间: 2024-04-12 22:26:38 浏览: 26
要让`textarea`元素的最大和最小行数自适应,你可以使用JavaScript来实现。以下是一个示例:
```html
<textarea id="myTextarea" oninput="autoResize()"></textarea>
<script>
function autoResize() {
const textarea = document.getElementById('myTextarea');
// 重置高度以便重新计算
textarea.style.height = 'auto';
// 设置最小行数
textarea.style.minHeight = '50px';
// 设置最大行数(根据实际需要调整)
const lineHeight = parseInt(getComputedStyle(textarea).lineHeight);
const maxHeight = lineHeight * 5; // 最大行数为5行
textarea.style.maxHeight = `${maxHeight}px`;
// 计算新的高度
const scrollHeight = textarea.scrollHeight;
textarea.style.height = `${scrollHeight}px`;
}
</script>
```
上述代码中,`textarea`元素的`id`属性设置为`myTextarea`。在`textarea`元素的`oninput`事件中调用`autoResize()`函数。这样,每当用户输入内容时,都会自动调整`textarea`的高度。
在`autoResize()`函数中,我们首先重置`textarea`的高度以便重新计算。然后设置最小行数为50px,可以根据需要进行调整。接下来,计算最大行数所允许的最大高度(例如5行),并将其应用于`textarea`的`maxHeight`属性。
最后,通过获取`textarea`的滚动高度(即内容的实际高度),将其设置为`textarea`的高度,从而实现自适应的效果。
你可以根据具体的需求和样式进行调整。希望这能帮助到你!