最近工作中遇到了一个小问题,让我学到了新的标签属性——contenteditable。

我需要实现的是手机端界面,特别简单的一个页面,如下图;

在我脑海里第一时间想到的应该就是一个form表单然后里面包裹着一个textarea标签这么简单吧,心想着这个界面顶多用十分钟就能搞定。

然后打开编辑器我就开始写了,代码如下;

<form class='textbox' action="" method="post">
  <textarea name="" rows="10" cols="20">请写下您的描述</textarea>
<input type="submit" name="finish" id="finish" value="完成" />
  <input type="button" name="cancel" id="cancel" value="取消" />
</form>

简单写好样式以后就打开浏览器切换到手机模式下跑一下,结果一眼就发现了问题所在,textarea标签的宽高不能自适应......我用自己所学过狭隘的知识探索并尝试过一番之后发现......还是百度一下吧(/(ㄒoㄒ)/~~)

搜索结果第一条就是HTML5全局contenteditable属性,以前没见过这个属性就打开看了一下,竟然发现比较简单而且很好用。

contenteditable这个属性是如此的好玩,在HTML标签后面增加这个属性并赋予属性值为true,死死的标签竟神奇般的可以编辑了,而且兼容性很好(IE6已经脱节所以没做测试),后来想了想可能用到这个应该有QQ空间吧,打开看了下果然不是textarea,用的是一个div增加contenteditable的属性实现的。

借助着新认识的属性和简单的css样式很快实现了我想要的效果,当你用的时候发现光标点击开始编辑的时候会有边框,而简单的border:none并不能实现清除边框的作用,这个时候给标签添加一组简单的样式代码就可以了:

-webkit-tap-highlight-color:rgba(0,0,0,0);
-webkit-user-modify:read-write-plaintext-only;

outline:none;

contenteditable这个新属性就好比一把钥匙叩开了紧闭标签的编辑大门,以后也许像我这样很可能就会用得到哦,所以写在这里分享给大家,希望大家也都能相互学习。

contenteditable实现可编辑的HTML标签的更多相关文章

  1. [oldboy-django][2深入django]学生管理(Form)-- 编辑(设置input标签属性,设置input标签默认显示值,设置input的类型)

    1 django 后台实现设置input标签属性,设置input标签默认显示值,设置input输入框类型 # Form生成html标签 a. 通过Form生成Input输入框,Form标签,以及sub ...

  2. jquery input切换编辑和不可编辑模式,input自动获得焦点,遍历所有的子类标签

    input切换编辑和不可编辑模式 在项目中我们经常会用到这样的效果,点击一下不可编辑的input 标签,变成可编辑的input标签.用法如下 <input type="text&quo ...

  3. 实时监测contenteditable(可编辑文档)的内容发生改变

    如果是文本框用onchange,oninput,onpropertychange都可以实时监控值发生变化,但是div设置了属性contenteditable(可编辑文档)就不管用了. 最简单的方法用o ...

  4. HTML5之contenteditable可编辑属性

    运用contenteditable实现输入框高度自动增加,输入框标题name相对高度自动居中,代码如下: <!DOCTYPE html> <html> <head> ...

  5. div contenteditable placeholder

    contenteditable型的编辑框,实现placeholder的方式有两种 第一种,Css的实现方式: <!DOCTYPE html> <html lang="en& ...

  6. HTML5新增的标签和属性归纳

    收集总结的HTML5的新特性,基本除了IE9以下都可以使用. HTML5语法 大部分延续了html的语法 不同之处:开头的 <!DOCTYPE html> <html lang=&q ...

  7. h5废弃的标签和属性及新增的标签和属性

    一.废弃的标签和属性 1.表现性元素 a) basefont b) big c) center d) font e) strike f) tt 2.框架类元素 a) frame b) frameset ...

  8. H5新增的标签和属性

    声明 Web 世界中存在许多不同的文档.只有了解文档的类型,浏览器才能正确地显示文档. HTML 也有多个不同的版本,只有完全明白页面中使用的确切 HTML 版本,浏览器才能完全正确地显示出 HTML ...

  9. 设置DIV可编辑

    <div id="move" contentEditable="true">可编辑</div> 设置contentEditable属性可 ...

随机推荐

  1. (简单) POJ 3667 Hotel,线段树+区间合并。

    Description The cows are journeying north to Thunder Bay in Canada to gain cultural enrichment and e ...

  2. linux平台很nice的工具

    htop工具 这个是top的升级版,查看进程.内存.CPU等性能的工具,主要是界面很人性化.

  3. 【转】实用 .htaccess 用法大全

    这里收集的是各种实用的 .htaccess 代码片段,你能想到的用法几乎全在这里. 免责声明: 虽然将这些代码片段直接拷贝到你的 .htaccess 文件里,绝大多数情况下都是好用的,但也有极个别情况 ...

  4. 解决word启动时报找不到mathpage.wll错误

    按下面的网址进行操作即可: http://www.mathtype.cn/wenti/word-jianrong.html

  5. RoundedImageView使用吐槽心得(RoundedImageView与Glide加载图片,第一次加载无法圆角问题)

    最近使用的时候发现一个问题, RoundedImageView与Glide搭配使用的时候,第一次加载图片(内存中没有),后图片无法圆角,后来尝试各种改,最后想到了一个办法,就是让Glide加载图片的 ...

  6. 把div 当文字来进行布局控制

    两边对齐 text-align: justify; text-justify: distribute-all-lines;/*ie6-8*/ text-align-last: justify;/* i ...

  7. 负载均衡探测器lbd

    负载均衡探测器lbd   大型网站为了解决海量访问问题,往往采用负载均衡技术,将用户的访问分配到不同的服务器上.网站的负载均衡可以从DNS和HTTP两个环节进行实施.在进行Web渗透测试的时候,需要先 ...

  8. EhLib DBGridEh组件在Delphi中应用全攻略总结(转)

    EhLib DBGridEh组件在Delphi中应用全攻略总结(转) http://blog.sina.com.cn/s/blog_94b1b40001013xn0.html 优化SQL查询:如何写出 ...

  9. 选项卡(TabHost)的功能与用法

    TabHost是一种非常实用的组件,TabHost可以很方便地在窗口上放置多个便签页,每个标签页相当于获得了一个与外部容器相同大小的组件摆法区域.通过这种方式,就可以在一个容器里放置更多组件,例如手机 ...

  10. oracle存储过程返回结果集

    http://www.2cto.com/database/201204/127180.html oracle实现存储过程返回查询结果集合的方法   --实现存储过程返回查询结果集合的方法 ,以下代码来 ...