写在前面

那啥,在我的那个很安静的一个 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如何添加未编译安装模块

    原已经安装好的nginx,现在需要添加一个未被编译安装的模块 举例说明:安装第三方的ngx_cache_purge模块(用于清除指定URL的缓存) nginx的模块是需要重新编译nginx,而不是像a ...

  2. Posted和Non-Posted传送方式

    PCI总线规定了两类数据传送方式,分别是Posted和Non-Posted数据传送方式.其中使用Posted数据传送方式的总线事务也被称为Posted总线事务:而使用Non-Posted数据传送方式的 ...

  3. HDU1166(线段树单点更新区间查询)

    敌兵布阵 Time Limit: 2000/1000 MS (Java/Others)    Memory Limit: 65536/32768 K (Java/Others)Total Submis ...

  4. Python3 安装xlrd、xlwt、xlutils

    Python版本3.4,装xlrd和xlwt和xlutils的时间:2017-09-07. 安装xlrd.xlwt.xlutils很简单,直接[pip install xlrd].[pip insta ...

  5. 《锋利的JQuery》读书要点笔记4——表格表单的操作

    第五章 jQuery对表单,表格的操作以及更多应用 这章主要以一些具体案例讲解了jQuery对表单,表格的常用操作,以及一些常见的jQuery应用,用到的都是上几章说的东西.下面就以具体的案例来展开. ...

  6. 如何在qt中使用中文输入法

    参考: http://blog.csdn.net/u013812682/article/details/52101088 dpkg -L fcitx-frontend-qt5 到qt安装目录里find ...

  7. Servlet response原理

    首先web服务器 接受到http请求后转交给相应的servlet进行处理这个过程可以他通过配置web.xml来进行确定,然后web服务器将相应的信息封装到request和response对象,由相应的 ...

  8. 准备开发开放API接口

    准备开发APP开放接口,允许JQUERY直接调用http://blog.csdn.net/wuxiangege/article/details/52238968 SIGN的设计与实现http://bl ...

  9. git add 文档

    GIT-ADD(1) Git Manual GIT-ADD(1) NAME git-add - Add file contents to the index SYNOPSIS git add [-n] ...

  10. eclipse 关键字高亮显示

    关键字高亮显示(变量.函数名……) Toggle Mark Occurrences  (Alt + Shift + O), 也可以在eclipse主界面的快捷工具栏:按下那个小黄蜡笔图标,来设置高亮显 ...