html用div模拟文本框,如何使用div模拟实现textarea?

我们都知道textarea是form表单中一个很常见的元素,用于多行文本输入,可以设置行数和列数。

但是默认的textarea样式在页面上看起来是很丑的,很多页面都是采用div模拟textarea实现。例如QQ空间主页面的发表说说,在你看页面源码后就会发现这个输入框其实是一个div元素,并不是一个textarea元素,现在我们就来看看这是如何实现的吧?

首先来看看实现的效果是什么样的。

2d58a5558476a66918b15b1911cda593.png

实现效果

关键属性:contenteditable

正如这个属性的字面意思,可以理解为可编辑的,如果在页面标签上设置contenteditable=true,该标签就可以进行编辑了。

可以配合user-modify属性,该属性表示的是控制用户能否对页面元素进行编辑,通过设置不同的值可以选择富文本或者纯文本内容,但是由于该属性是非标准属性,很少有人知道。

首先我们来看看页面的HTML部分代码,就是一个很简单的div标签,然后设置contenteditable属性为true。

7e5f58eb05a2989fe49d928913cc2173.png

HTML部分代码

接下来我们就看看整个CSS代码的完整实现吧。

be150ad578d9cf39b8ff3bec3b38c626.png

CSS样式

通过min-height和max-height属性可以控制div的高度,在内容超出max-height后会出现滚动条。如果想要固定div的高度,则只需要设置height属性就可以,而不用设置min-height和max-height属性。

  • 4
    点赞
  • 4
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值