如何使用div模拟实现textarea?

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

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

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

那些你不知道的HTML知识,快来学习一下吧

实现效果

关键属性:contenteditable

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

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

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

那些你不知道的HTML知识,快来学习一下吧

HTML部分代码

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

那些你不知道的HTML知识,快来学习一下吧

CSS样式

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

推荐阅读

    python三引号怎么使用

    python三引号怎么使用,培训,代码,名字,引号,字符串,注释,下面,定义,以上,作

    python如何使输出换行

    python如何使输出换行,培训,结果,两个,方法,引号,函数,同行,以上,时候,方式

    python如何读取文件

    python如何读取文件,培训,数据,文件,信息,有限,操作系统,对象,磁盘,函数,表

    python如何注释代码行

    python如何注释代码行,代码,培训,位置,注释,信息,内容,中文,程序,声明,语法

    python如何构建字典

    python如何构建字典,培训,数据,数字,字典,实例,以上,括弧,结果,冒号,用字,py

    python如何定义函数

    python如何定义函数,培训,概念,代码,环境,函数,定义,语句,括号,结果,冒号,函

    python变量怎么使用

    python变量怎么使用,培训,信息,数字,变量,字母,空格,开头,关键字,意义,规则

    pythonid函数如何运行

    pythonid函数如何运行,培训,地址,代码,对象,函数,内存,类型,可能会,整数,字

    python怎么使用列表

    python怎么使用列表,位置,培训,公式,列表,元素,表示,末尾,切片,倒数,顺序,py

    python如何安装pip

    python如何安装pip,培训,情况,通用,工具,脚本,以下,版本,命令,以上,管理工

    python如何设置编码格式

    python如何设置编码格式,代码,培训,一致,声明,文件,头部,格式,注释,中文,以

    python如何输出质数

    python如何输出质数,数字,代码,培训,质数,情况,自然数,不是,循环体,素数,用

    python输出如何不换行?

    python输出如何不换行?,灵活,培训,函数,对象,方法,空格,结尾,字符,下面,结

    pythonreturn如何定义

    pythonreturn如何定义,培训,函数,定义,字符串,数值,使用说明,语句,对象,以

    python如何运行python

    python如何运行python,代码,培训,系统,语句,模式,结果,提示符,命令,以下,文

    python如何打开文件夹

    python如何打开文件夹,培训,图片,文件,方式,尾部,格式,内容,文件夹,存在,参