写在前面

那啥,在我的那个很安静的一个 CSS 群(群号:82991297)突然看到有人在问一个问题。

使用 css 如何实现:textarea 如何实现高度自适应?

当时看到这个问题的时候,我脑中只有一个想法,这个百度一下就够了,完全不需要用很多技术人员都喜欢用的谷歌来搜索。然而,这里有一个关键点是“使用 CSS 如何实现”。

可以用 CSS 实现?

这是个问题,能搜索到的结果必然都是通过 JS 的方式来实现的,而不会有人提到使用 CSS 来实现的,毕竟用 CSS 真的实现不了啊。CSS 主要是用来排版、修饰页面的,又不是万能的。

思考

是啊,不是万能的 CSS 无法满足这个“自适应”的需求,那么要如何去实现呢。其实吧,对于“自适应”高度的需求一直都是在大家所追求着,最常见比如就是以前偶尔会有人说一个 div 怎么自适应高度什么的。

对于一个 div 自适应高度的话,其实很简单,只要不设定高度就可以了。如果这个 div 元素中有 float 属性,那么就闭合这个 div 元素(清除浮动)就好了;当然啦,如果是用了 position: absolute; 的话,那就不要说自适应高度了。

假设使用非输入元素实现

非输入元素(input 以及 textarea 等以外的元素),我们可以利用 contenteditable 属性来实现,让一个元素变成可以编辑、可输入的元素,那么也就可以实现所谓的自适应高度的输入框了。

<div contenteditable></div>

简单一句话就可以满足了。至于兼容性,直接看 http://caniuse.com/#search=contenteditable 这个网址吧。

  • IE ✔

  • Edge ✔

  • Firefox ✘ 2+ ◒ 3+ ✔ 3.5+

  • Chrome ✔

  • Safari ✔

  • Opera ✔

看起棒棒哒,直接就可以打满分

“自适应”高度的 textarea 文本输入框的更多相关文章

  1. 自适应高度的 textarea

    <!DOCTYPE html> <html xmlns="http://www.w3.org/1999/xhtml"> <head> <m ...

  2. JS案例 - 可自动伸缩高度的textarea文本框

    文本框的默认现象: textarea如果设置cols和rows来规定textarea的尺寸,那么textarea的默认宽高是这俩属性设置的值,可以通过鼠标拖拽缩放文本框的尺寸. textarea如果设 ...

  3. div实现自适应高度的textarea,实现angular双向绑定

    相信不少同学模拟过腾讯的QQ做一个聊天应用,至少我是其中一个. 过程中我遇到的一个问题就是QQ输入框,自适应高度,最高高度为3row. 如果你也像我一样打算使用textarea,那么很抱歉,你一开始就 ...

  4. html5 textarea 文本框根据输入内容自适应高度

    <!DOCTYPE html> <html xmlns="http://www.w3.org/1999/xhtml"> <head> <m ...

  5. 自适应高度输入框(contenteditable/textarea)

      一.用div模拟textarea div模拟输入域可以根据输入内容自动伸缩,而input和textarea输入内容较多时,高度固定,内容会显示不全. 1.坑1(IOS端无法输入) 在取消全局默认样 ...

  6. textarea文本域的高度随内容的变化而变化

    用css控制textarea文本域的高度随内容的变化而变化,不出现滚动条. CSS代码: 复制代码 代码如下: .t_area{ width:300px; overflow-y:visible } & ...

  7. 微信端应用 ionic实现texarea 自适应高度

    最近公司项目,做微信端用到texarea 需要实现自适应高度的功能 当然自适应高度的方法很多网上找一大片,最直接的方式就是在使用到texarea的controller中添加js代码事件来实现,这中方式 ...

  8. div模拟textarea文本域轻松实现高度自适应——张鑫旭

    by zhangxinxu from http://www.zhangxinxu.com本文地址:http://www.zhangxinxu.com/wordpress/?p=1362 一.关于tex ...

  9. textarea文本域轻松实现高度自适应

    转载:http://www.xuanfengge.com/textarea-on-how-to-achieve-a-high-degree-of-adaptive.html 今天需要些一个回复评论的页 ...

随机推荐

  1. nginx实时生成缩略图到硬盘上

    现在随着各终端的出现(手机,ipad等平板),以及各种终端的手机分辨率和尺寸都不同,现在手机用户流量都是宝,网上出现了各种各样的生成缩略图功能的架构,有使用php实时生成缩略图的,也有用nginx + ...

  2. Eclipse工具栏太多,自定义工具栏,去掉调试

    Window --> Customize Perspective... --> Tool Bar Visibility 去掉勾选debug  Tip:最新版本Customize Persp ...

  3. 【JAVA】Eclipse中使用git进行pull远程代码

    当使用eclipse或者MyEclipse进行pull远程代码的时候,或者github的代码的时候报如下错误代码: 代表我们没有配置我们的Git地址,这里我教大家配置一下.首先下面是错误代码: The ...

  4. 【eclipse使用git】eclipse使用私钥提交项目

    初次安装git需要配置用户名和邮箱,否则git会提示:please tell me who you are. 你需要运行命令来配置你的用户名和邮箱: $ git config --global use ...

  5. springmvc formatter

    以下,来自于Springmvc指南第二版,第93页. Spring的Formatter是可以将一种类型转为另一种类型. 例如用户输入的date类型可能有多种格式. 下面是才用 registrar方式注 ...

  6. react-slick无法显示预期效果问题

    目前学习react来做新项目,我要做一个图片的轮播,是那种一次可以展示几张图片的循环轮播,在我们使用的antd里面没有,然后前辈叫我使用react-slick插件,于是我就使用npm命令安装了reac ...

  7. 任务侦听器(Task listener)

    任务侦听器:用于在任务相关的事件发生时执行一段java逻辑或者是表达式 <userTask id="myTask" name="My Task" > ...

  8. Iphone安装Pinterest

    由于Pinterest在中国的app store下架了,也就搜索不到该应用.所以只能上美国的app store下载. 1,下载itunes,登录vpn,注册新的apple id: 2,手机连接vpn, ...

  9. AC日记——[HNOI2008]越狱 bzoj 1008

    1008 思路: 越狱情况=总情况-不越狱情况: 代码: #include <cstdio> #include <cstring> #include <iostream& ...

  10. 只用120行Java代码写一个自己的区块链-4实现真正的p2p网络

    在之前的文章中,我们模拟了节点网络通讯,很多朋友反馈说,他们想看真正的节点网络通讯而不是单节点的模拟.本章将满足你们.