//html
<!--填写信息-->
<div class="info-wrap">
<form class="formToCheck" id="formToCheck" method="get" action="#">
<div class="info-box">
<div contenteditable="true" class="link-textarea user-name" data-form-type="name"></div>
</div>
<div class="info-box">
<div contenteditable="true" class="link-textarea user-moblie" data-form-type="mobile"></div>
</div>
<div class="adress-box">
<div contenteditable="true" class="link-textarea" data-form-type="address"></div>
</div>
<div class="reason-box">
<div class="reason-tilte">申请理由</div>
<div contenteditable="true" class="link-textarea" data-form-type="reason"></div>
</div>
</form>
</div>

//在IOS中<div contenteditable="true"></div>中点击时可以弹出键盘但是无法输入。加一个样式-webkit-user-select:text就可以了。

.link-textarea:focus {
border: none;
outline: none;
-webkit-appearance: none;
-webkit-user-select: none;
-webkit-tap-highlight-color: rgba(0, 0, 0, 0);
-webkit-touch-callout: none;
-webkit-text-size-adjust: none;
color: rgba(0, 0, 0, 0);
background-color: #fff
}
.user-name:empty:after {
content: '姓名';
color: #ababab;
font-size: 15px;
text-align: left;
}
.user-moblie:empty:after {
content: '手机号';
color: #ababab;
font-size: 15px;
text-align: left;
}
.info-box,
.adress-box {
width: 90.625%;
margin: 0 auto;
height: auto;
min-height: 45px;
border: 1px solid #e8e8e8;
border-radius: 6px;
margin-bottom: 9px;
box-sizing: border-box;
}
.info-box .link-textarea,
.adress-box .link-textarea {
margin: 12px 0px 12px 9px;
font-size: 15px;
color: #3b3b3b;
outline: 0;
word-wrap: break-word;
overflow-x: hidden;
overflow-y: auto;
-webkit-user-modify: read-write-plaintext-only;
-webkit-user-select:text;
}
.adress-box .link-textarea:empty:after {
content: '详细地址';
color: #ababab;
font-size: 15px;
text-align: left;
}
.reason-box {
width: 90.625%;
margin: 0 auto;
height: auto;
min-height: 100px;
border: 1px solid #e8e8e8;
border-radius: 6px;
box-sizing: border-box;
}
.reason-box .link-textarea {
margin: 10px 0px 12px 9px;
font-size: 15px;
color: #3b3b3b;
outline: 0;
word-wrap: break-word;
overflow-x: hidden;
overflow-y: auto;
-webkit-user-modify: read-write-plaintext-only;
-webkit-user-select:text;//兼容ios上点击可弹出键盘无法输入的问题
}
.reason-box .link-textarea:empty:after {
content: '以申请理由为基本评判,请认真填写。';
color: #ababab;
font-size: 11px;
text-align: left;
}
.reason-tilte {
line-height: 15px;
font-size: 15px;
color: #ababab;
margin: 12px 0 0 9px;
}

//为什么会用div来模拟输入框input?

因为,input只能一行显示出输入的文字,如果需要是多行显示出输入的文字就可以用这种方法,

//多行显示出输入的文字,那为什么不直接用textarea呢?

textarea和input都不支持伪类(after,empty,focous等),想要在textarea或者input元素上使用伪类来实现样式是不支持的

div模拟输入框input/textarea的更多相关文章

  1. div模拟文本框textarea

    需求:利用highlight.js对文本框中的内容进行高亮显示 1.highlight.js使用 js中:<script src="js/highlight/highlight.pac ...

  2. 使输入框(input  & textarea)变为只可读状态readonly="readonly",禁用输入框disabled="disabled"

    使输入框变为只可读状态 readonly="readonly" <input class="select-city" placeholder=" ...

  3. 使用div模拟textarea,实现文本输入框高度自适应(附:js控制textarea实现文本输入框高度自适应)

    一.使用textarea标签进行多行文本的输入有很多限制,比如不能实现高度自适应,会出现难看的滚动条等问题. HTML5中添加了一个新属性contenteditable,该属性可以让input,tex ...

  4. 使用contenteditable+div模拟textarea文本域实现高度自适应

    使用contenteditable+div模拟textarea文本域实现高度自适应 开发过程中由于需要在发送消息的时候需要有一个可以高度自适应的文本域,一开始是使用textarea并搭配auto-si ...

  5. div模拟textarea

    有些Weber可能没有用过contenteditable这个属性,如果想编辑一个DIV里面的内容,这个属性是一个非常不错的选择   <div contenteditable="true ...

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

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

  7. div模拟textarea在ios下不兼容的问题解决

    今天发现一个好东西,赶紧记下来,我在用textarea的时候,想要自适应高度,这样就不会出现滚动条.网上找了很多,都是用div模拟的,但是好扯淡,div模拟的在ios下不能聚焦并且不能输入.真坑... ...

  8. Bootstrap 表单控件一(单行输入框input,下拉选择框select ,文本域textarea)

    单行输入框,常见的文本输入框,也就是input的type属性值为text.在Bootstrap中使用input时也必须添加type类型,如果没有指定type类型,将无法得到正确的样式,因为Bootst ...

  9. div模拟textarea实现高度自增长

    今天突然有位前端的朋友问我textarea怎么实现高度随内容自增长,我一下子懵了,首先想到的是用js改变textarea的高度,但是百度了很多参考代码效果都不是很理想. 因为之前实际项目中用的text ...

随机推荐

  1. 20ms Ac Code

    Rectangle Aread C Code #include <stdio.h> int computeArea(int A,int B,int C,int D,int E,int F, ...

  2. Struts2学习笔记④

    刚才看书发现了一个问题,就是ActionSupport和Action接口的区别没搞清楚,弄得我以为我之前的代码写错了.其实ActionSupport已经实现了Action接口了,实际开发中也很少使用A ...

  3. 3399: [Usaco2009 Mar]Sand Castle城堡

    3399: [Usaco2009 Mar]Sand Castle城堡 Time Limit: 3 Sec  Memory Limit: 128 MBSubmit: 37  Solved: 32[Sub ...

  4. .进程&线程(&java.lang.Thread)详解

    一.进程与线程 进程 我们在进行操作电脑的时候,通常会打开浏览器,通讯工具等应用程序,这个时候CPU通过作业调度在内存中就会分配一些空间让它们处于宏观上的运行状态(处于可以被CPU执行的状态),而这部 ...

  5. Linux centos7环境下安装Nginx

    Linux centos7环境下安装Nginx的步骤详解 1.    首先到Nginx官网下载Nginx安装包 http://nginx.org/download/nginx-1.5.9.tar.gz ...

  6. 帝国CMS万能标签的使用

    标签名称: 带模板的信息调用标签[万能标签]   [ecmsinfo]栏目ID/专题ID,显示条数,标题截取数,是否显示栏目名,操作类型,标签模板ID,只显示有标题图片[/ecmsinfo] 说明:e ...

  7. 深入浅出数据结构C语言版(3)——递归简论

      相信学习过C语言的读者都已经接触过递归(不论是谭浩强的C程序设计还是C Primer Plus都有递归程序),本文就是对递归的基本原则进行简要介绍.首先,我们写一个基本的递归函数作为例子: int ...

  8. BootStrap入门教程 (四)

    本文转自 http://www.cnblogs.com/ventlam/archive/2012/06/17/2536728.html 上讲回顾:Bootstrap组件丰富同时具有良好可扩展性,能够很 ...

  9. linux vi hjkl由来

    很远原因来自历史 I was reading about vim the other day and found out why it used hjkl keys as arrow keys. Wh ...

  10. RMQ问题(线段树算法,ST算法优化)

    RMQ (Range Minimum/Maximum Query)问题是指: 对于长度为n的数列A,回答若干询问RMQ(A,i,j)(i,j<=n),返回数列A中下标在[i,j]里的最小(大)值 ...