HTML用textarea实现多行输入自动调整输入框高度

`

<!doctype html>
<html>

	<head>
		<meta charset="utf-8">
		<title></title>
		<meta name="viewport" content="width=device-width,initial-scale=1,minimum-scale=1,maximum-scale=1,user-scalable=no" />
	</head>

	<body>
		
		<style type="text/css">
			#question{
				width: 100%;
				min-height: 50px;
				display: flex;
				align-items: stretch;
			}
			#labels{
				width: 20%;
				height: 100%;
			}
			#inp{
				width: 80%;
				height: 100%;
				display: flex;
				align-items: stretch;
			}
			textarea{
				width: 100%;
				box-sizing: border-box;
				overflow: hidden;
				resize: none;
			}
		</style>
		<div id="question">
			<div id="labels">问题描述</div>
			<div id="inp">
				<textarea rows="" cols="" placeholder="请输入你的问题" id="autoTextarea"></textarea>
			</div>
		</div>
        <script type="text/javascript">
			const textarea = document.getElementById('autoTextarea');
				
			textarea.addEventListener('input', function() {
		    // 重置高度,使得textarea可以缩小
			this.style.height = 'auto';
			// 根据内容重新调整高度
			this.style.height = this.scrollHeight + 'px';
			});
			
		</script>
	</body>

</html>

猜你喜欢

转载自blog.csdn.net/ydk1203/article/details/142910627