最近写项目时感觉有些html和css的内容有些忘记了,UI提了一个问题是textarea输入框,默认不显示滚动条,但是当内容超出高度时需要显示滚动条,这本是一个非常简单的问题,但是我都忘记了,因此,特在此记录,以防再遇到 时忘记。
实现思路
开始时想用js动态改变textarea的样式
比如一开始给textarea的样式为overflow:hidden。然后再用js去动态控制它的样式为overfow-y:auto;想了一下应该使用textarea的mouseUP事件,但是这个事件每输入一个字符就会调用一次,很费性能。于是放弃。
使用max-height和overflow-y实现
.textarea-overflow {
max-height: 28px;
overflow-y: auto;
line-height: 14px !important;
}
//之前textarea也有高度,但是line-height为28px,导致内容本来就超过textarea的高度,所以才会出现滚动条,我改为了14px,则默认不显示滚动条了,当内容超出28px时才出现滚动条。