“自适应”高度的 textarea 文本输入框
写在前面
那啥,在我的那个很安静的一个 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 文本输入框的更多相关文章
- 自适应高度的 textarea
<!DOCTYPE html> <html xmlns="http://www.w3.org/1999/xhtml"> <head> <m ...
- JS案例 - 可自动伸缩高度的textarea文本框
文本框的默认现象: textarea如果设置cols和rows来规定textarea的尺寸,那么textarea的默认宽高是这俩属性设置的值,可以通过鼠标拖拽缩放文本框的尺寸. textarea如果设 ...
- div实现自适应高度的textarea,实现angular双向绑定
相信不少同学模拟过腾讯的QQ做一个聊天应用,至少我是其中一个. 过程中我遇到的一个问题就是QQ输入框,自适应高度,最高高度为3row. 如果你也像我一样打算使用textarea,那么很抱歉,你一开始就 ...
- html5 textarea 文本框根据输入内容自适应高度
<!DOCTYPE html> <html xmlns="http://www.w3.org/1999/xhtml"> <head> <m ...
- 自适应高度输入框(contenteditable/textarea)
一.用div模拟textarea div模拟输入域可以根据输入内容自动伸缩,而input和textarea输入内容较多时,高度固定,内容会显示不全. 1.坑1(IOS端无法输入) 在取消全局默认样 ...
- textarea文本域的高度随内容的变化而变化
用css控制textarea文本域的高度随内容的变化而变化,不出现滚动条. CSS代码: 复制代码 代码如下: .t_area{ width:300px; overflow-y:visible } & ...
- 微信端应用 ionic实现texarea 自适应高度
最近公司项目,做微信端用到texarea 需要实现自适应高度的功能 当然自适应高度的方法很多网上找一大片,最直接的方式就是在使用到texarea的controller中添加js代码事件来实现,这中方式 ...
- div模拟textarea文本域轻松实现高度自适应——张鑫旭
by zhangxinxu from http://www.zhangxinxu.com本文地址:http://www.zhangxinxu.com/wordpress/?p=1362 一.关于tex ...
- textarea文本域轻松实现高度自适应
转载:http://www.xuanfengge.com/textarea-on-how-to-achieve-a-high-degree-of-adaptive.html 今天需要些一个回复评论的页 ...
随机推荐
- AOP编程的常用实现方式
aop代理分为静态代理.jdk动态代理.cglib动态代理 通过动态代理的方式实现横向扩展,实现权限校验.日志等功能. jdk静态代理:代理类和委托类实现同一接口,并且在代理类中需要硬编码接口. jd ...
- 解决tomcat不支持中文路径的问题
问题描述: 开发文件下载功能时,因为需求比较简单,要求下载一个说明文件.于是,直接给出了文件所在服务器的地址,通过链接直接下载此文件(因需求简单,未考虑安全方面的问题-_-||). 在这个过程中,文件 ...
- [BZOJ3275]Number解题报告|网络流
Description 有N个正整数,需要从中选出一些数,使这些数的和最大.若两个数a,b同时满足以下条件,则a,b不能同时被选1:存在正整数C,使a*a+b*b=c*c2:gcd(a,b)=1 这道 ...
- 用树莓派做FTP服务器
我为了传输文件方便,所以先简单的做了一个匿名ftp服务器 首先要下载ftp服务器软件 输入 sudo apt-get install vsftpd 安装vsftp 然后编辑 /etc/vsftp.co ...
- python学记笔记 2 异步IO
在IO编程中,我们知道CPU的速度远远快于磁盘,网络IO,在一个线程中,CPU执行速度的代码非常快,然而遇到IO操作就需要阻塞 需要等待IO操作完成才能继续下一步的动作.这种情况叫做同步IO 在IO操 ...
- 【bzoj4636】蒟蒻的数列
由于数据范围过大,直接线段树会炸,离散化或者动态开点都行. 打个标记在树上,最后把树dfs一边算一下即可. #include<bits/stdc++.h> #define N 100000 ...
- swoole扩展安装
1Swoole扩展的编译安装 Swoole扩展是按照php标准扩展构建的.使用phpize来生成php编译配置,./configure来做编译配置检测,make和make install来完成安装. ...
- Ubuntu部署Java web项目
登录服务器和给服务器传输文件,使用的工具是Xshell Xftp Mysql 安装mysql 输入:sudo apt-get update 更新软件列表 输入: ...
- Spring boot集成redis初体验
pom.xml: <?xml version="1.0" encoding="UTF-8"?> <project xmlns="ht ...
- ORM-班级信息系统
ORM版学员管理系统 班级表 表结构 class Class(models.Model): id = models.AutoField(primary_key=True) # 主键 cname = m ...