web前端面试-------input与textarea的区别以及用div模拟textarea

14 篇文章 0 订阅
3 篇文章 0 订阅

1.input与textarea的区别

<input>是单行文本框,不会换行。通过size属性指定显示字符的长度,注意:当使用css限定了宽高,那么size属性就不再起作用。

             value属性指定初始值,Maxlength属性指定文本框可以输入的最长长度。可以通过width和height设置宽高,但是也不会

             增加行数。

<textarea>  是多行文本输入框,文本区中可容纳无限数量的文本,无value属性,其中的文本的默认字体是等宽字体(通常是  

             Courier) ,可以通 过 cols 和 rows 属性来规定 textarea 的尺寸,不过更好的办法是使用 CSS 的 height 和 width 属性。

代码:    

<div>
	input:<input value="啦啦啦啦啦" style="height:200px;width: 500px;">
</div>
<div style="margin-top: 20px;">
	textarea:</textarea><textarea  value="嘻嘻嘻" style="height:200px;width: 500px;"> 
   </textarea>
</div>

   效果图:

可以看到:textarea中设置的value并没有显示,同时input文本依然只有一行,并且居中显示。

2.用div模拟textarea

作为多行文本域功能来讲,textarea满足了我们大部分的需求。然而,textarea有一个不足就是不能像普通div标签一样高度可以跟随内容自适应。textarea总是很自信地显摆它的滚动条,高度固执地岿然不动。

要解决这个问题很简单,一个普通的block元素上加个contenteditable="true"就ok了。

<div contenteditable="true"></div> 

效果图:

代码:

		<style>
			.textarea{
				min-height: 100px;
				border: 1px solid #a0b3d6; 
				width: 300px;
				font-size: 14px;
				max-height: 300px;
				overflow-y: auto;
			}
		</style>
	</head>

	<body>
		<!--用div模拟textarea-->
		<div class="textarea" contenteditable="true">
			
		</div>
	</body>

给div设置了一个最小高度,当超过最小高度但不超过最大高度时,div的高度根据文本自适应,当超过最大高度时,出现滚动条。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值