1、问题的出现:

<textarea>标签为表单元素,但一般用于多行文本的输入,但是有一个明显的缺点就是不能实现高度自适应,内容过多就回出现滚动条。

为了实现高度自适应:用div标签来代模拟textarea文本域,实现高度自适应!

2、解决方案:

HTML代码:

<div class="test_box" contenteditable="true"><br /></div>    // 变为可编辑模式

CSS代码:

.test_box {
width: 400px;
min-height: 120px;
max-height: 300px;
_height: 120px;     //兼容IE6,给定高--内部元素溢出会撑开父标签
margin-left: auto;
margin-right: auto;
padding: 3px;
outline: 0;       //Firefox浏览器的div在可编辑模式下湖区焦点的时候会有虚线框
border: 1px solid #a0b3d6;
font-size: 12px;
word-wrap: break-word; //允许长单词或者url地址换行到下一行
overflow-x: hidden;
overflow-y: auto;
_overflow-y: visible;
}

3、解析:

<textarea>标签中的换行是以换行符的形式出现的;若换行符用于一般的div则不会出现换行,默认为空格;

因为div中默认的空白就会被忽略,所以无论是空白还是换行,都会被当做一个空格处理;

若要显示空白或者换行:添加white-space:pre;

若只显示换行,不显示空白:添加white-space:pre-line;

4、属性分析:

white-space属性
属性名 属性值 描述
white-space normal 默认。空白会被浏览器忽略。
white-space pre   空白会被浏览器保存,类似于<pre>标签
white-space nowrap 文本不会换行,直到遇到<br>标签
white-space pre-wrap 保留空白符序列,但正常的进行换行
white-space pre-line 合并空白符序列,但正常进行换行
contenteditable标签属性
属性值 描述
inherit 默认。如果父元素可编辑,元素内容就可编辑
true 内容可编辑
false 内容不可编辑

5、css实现单行、多行文本溢出显示省略号(…)

对于单行文本溢出显示省略号:

overflow: hidden;
text-overflow:ellipsis;
white-space: nowrap;

对于多行文本溢出显示省略号:(webkit内核)

  overflow: hidden;
text-overflow: ellipsis;
display: -webkit-box;
-webkit-box-orient: vertical;
-webkit-line-clamp: 2;

移动端浏览器绝大部分是WebKit内核的,所以该方法适用于移动端;

  • text-overflow: ellipsis 以用来多行文本的情况下,用省略号“…”隐藏超出范围的文本。
  • display: -webkit-box 将对象作为弹性伸缩盒子模型显示 。
  • -webkit-box-orient 设置或检索伸缩盒对象的子元素的排列方式 。
  • -webkit-line-clamp 用来限制在一个块元素显示的文本的行数,这是一个不规范的属性(unsupported WebKit property),它没有出现在 CSS 规范草案中。

最新文章

  1. js对汉字首字母排序
  2. java面试总结-(hibernate ibatis struts2 spring)
  3. SQL查询 练习题
  4. 数据分析之sql篇
  5. iOS开发:自定义tableViewCell处理的问题
  6. [Android学习笔记]自定义控件的使用
  7. asp.net控件ControlToValidate同OnClientClick冲突解决办法
  8. Sql Server——约束
  9. apache和tomcat公用80端口
  10. /dev/null 2&gt;&amp;1的意思(可以直接参考shell重定向那篇,/dev/null是空设备)
  11. Vasya and Binary String(来自codeforces
  12. 项目(一)ftp搭建
  13. 处理HTML5新标签的浏览器兼容问题
  14. python学习笔记(10)--组合数据类型(序列类型)
  15. spring aop 学习1
  16. 计算属性(computed)、方法(methods)和侦听属性(watch)的区别与使用场景
  17. Centos7 开放80,3306端口解决办法
  18. 水平方向margin:auto
  19. SVN自动生成版本号信息
  20. 解决Linux平台下VMware出现&quot;No 3d support is available from the host&quot;或&quot;Hardware graphics acceleration is not available&quot; 错误

热门文章

  1. Nginx 502 Bad Gateway 的错误的解决方案
  2. 获取树莓派ip地址的方法
  3. 织梦dedecms自定义表单导出到excel教程
  4. python2---输出1--100之间的偶数
  5. IDC装机检查思路
  6. 使用bitmap实现对一千万个无重复的正整数(范围1~1亿)快速排序
  7. java-dockerfile
  8. CDOJ 1146 A - 秋实大哥与连锁快餐店 最小生成树 Prim算法 稠密图
  9. (WCF) There is already a listener on IP endpoint 0.0.0.0:9999.
  10. Java网络编程之Netty服务端ChannelOption.SO_BACKLOG配置