今天研究了一下文本溢出显示省略号的方案,在网上一搜,资料很多,但是不是所有都是正确的。

单行文本溢出:

1.使用text-overflow:ellipsis;

这种方法在除firefox的其他浏览器中都支持,但是在firefox旧版本里不支持,听说在firefox7.0+支持,具体的分界线在哪里我没测试过,所以也不太清楚。但是我用firefox19.0.2测试过是支持的。需要注意的是要设置:white-space:nowrap;/*保证单行*/overflow:hidden;text-overflow:ellipsis;

.container {width:100px;height:100px;border:1px solid #000;text-overflow:ellipsis;overflow:hidden;white-space:nowrap;
}

<div class="container">ldj ldj ldj ldj ldj ldj ldj ldjldj ldj ldj ldj ldj ldj ldj ldj ldjldj ldj ldj ldj ldj ldj ldj ldj ldjldj ldj ldj ldj ldj ldj ldj ldj ldjldj</div>

对于旧版本的firefox可以使用ellipsis.xml,把上面那句"text-overflow:ellipsis;"换成" -moz-binding:url('ellipsis.xml#ellipsis');"。需要注意的是,这个使Firefox浏览器下文字溢出省略号表示的ellipsis.xml文件要在页面的同一目录下,或是下一级目录下(我已测试),要是向上跨文件夹访问或绝对路径访问则失效。

2.使用margin负值定位,这个方法是兼容主流的浏览器的。(其实我觉得这个方法有点累赘,而且不灵活)

原理是:当文字内容足够长时就把隐藏在上面的省略号层给挤下来了。关键就是点点点所在div层的高度的绝对值要比其margin的绝对值大那么一点点。

<div class="text_overflow_4"><div class="text_con">这是一段比较长的文字,用来测试是否文字溢出时会用省略号显示。</div> <div class="text_dotted">…</div>
</div>

.text_overflow_4{width:24em; height:1.3em;overflow:hidden; zoom:1;
}
.text_overflow_4 .text_con{float:left;height:1.2em; margin-right:3em; overflow:hidden;
}
.text_overflow_4 .text_dotted{width:3em; height:1.31em; float:right; margin-top:-1.3em;
}

还有其他很多的方法,如:使用jquery来判断宽度是否溢出、使用伪类:after等等

多行文本溢出:

1.使用webkit支持的-webkit-line-clamp属性,不过这个只在webkit内核的浏览器中生效

2.使用-o-ellipsis-lastline,这个是从opera10.60才开始有的属性,所以只在opera10.60+生效

3.使用jquery,这个方案可以实现跨浏览器。原理是通过从后向前逐个删除末尾字符,直至元素的高度小于父元素高度

转载于:https://www.cnblogs.com/joyho/articles/2987597.html

关于单行和多行文本溢出显示省略号的解决方案相关推荐

  1. css多行超出显示点_CSS实现单行、多行文本溢出显示省略号(…)

    如果实现单行文本的溢出显示省略号同学们应该都知道用text-overflow:ellipsis属性来,当然还需要加宽度width属来兼容部分浏览. 实现方法: overflow: hidden; te ...

  2. 如何设置省略号对其序号 html,CSS实现单行、多行文本溢出显示省略号(…)

    最好用max-height来限制一下web 若是实现单行文本的溢出显示省略号同窗们应该都知道用text-overflow:ellipsis属性来,固然还须要加宽度width属来兼容部分浏览.浏览器 实 ...

  3. CSS基础: 单行和多行文本溢出显示省略号

    文本溢出后很多,会显示一些省略号,这个在很多网站都会这样做,从技术层次来分析有两种,一种是前端通过css或者JavaScript进行进行,还有一种是后端传递文字的时候,本身处理完长度,然后返回一个嗲有 ...

  4. CSS+JS+Vue:单行、多行文本溢出显示省略号...的几种实现方式

    背景:近期H5项目有个UI需求,单行文本超长时,超出的部分...省略且有一个查看的图标:否则正常展示. 在此背景下了总结下文本溢出的几种实现方式. 1.单行文本溢出[纯css] 效果: <!-- ...

  5. html表格单行溢出省略号,单行、多行文本溢出显示省略号(css、js两种方法)

    一.css方法 1.单行文本p{ width:100px; overflow: hidden;  /*超出部分隐藏*/ white-space: nowrap;  /*禁止换行*/ text-over ...

  6. CSS 单行/多行文本溢出显示省略号(...)的实现

    作者:WangMin 格言:努力做好自己喜欢的每一件事 CSDN原创文章 博客地址

  7. CSS实现单行、多行文本溢出显示省略号(…

    分享一下我老师大神的人工智能教程!零基础,通俗易懂!http://blog.csdn.net/jiangjunshow 也欢迎大家转载本篇文章.分享知识,造福人民,实现我们中华民族伟大复兴! < ...

  8. 单行及多行文本溢出以省略号显示的方法总结

    需求: 在前端页面布局中,经常会有因文字过多而影响页面排版.特别是在移动端页面中,因屏幕宽度不够段落文字如完全显示则会打乱布局.因此若段落文字能根据屏幕空余大小而显示就完美了,也就是若屏幕够大,段落文 ...

  9. 单行文本和多行文本溢出显示省略号

    1.单行文本溢出显示省略号 首先需要设置宽高 overflow: hidden; /*超出部分隐藏*/ text-overflow: ellipsis; /* 超出部分显示省略号 */ white-s ...

最新文章

  1. R语言计算dataframe数据列中各分类的计数(类似pandas value_counts函数功能)
  2. Go语言之 Struct Tag
  3. [C# 开发技巧系列] 使用C#操作幻灯片
  4. html页面设置document类型,DOM-Document类型
  5. C#调C++生成的dll报0x800736B1错误
  6. kafka logstash elk
  7. 串行测试 并行测试_如何通过CircleCI测试并行性增加构建时间
  8. jQuery简单易用的网页内容打印插件
  9. jQuery.fn.extend 与 jQuery.extend 用法
  10. 【机器学习】因子分解机(Factorization Machine)原理与java实现
  11. 你的灯还亮着吗阅读笔记之二
  12. poj3984(经典dfs)
  13. 三菱GXWorks2 多CPU参数设置
  14. 怎么增加C盘空间大小,教你如何调整C盘容量【图文教程 无损数据】分区助手如何给磁盘分区 分区助手使用方法教程
  15. Kali-DDoS工具集合
  16. 浅谈民用建筑电气设计中智能消防应急照明系统的运用
  17. iis中应用程序服务器错误,iis应用程序服务器错误
  18. 家政维修小程序+上门预约小程序+VUE前后端分离+uniapp(附近师傅+门店入驻+在线抢单服务APP、小程序、公众号、H5)
  19. 如何让p标签里面的内容首行缩进
  20. Excel中自动按照货物名称实现结余累计的示例

热门文章

  1. Selenium API-WebElement 属性
  2. 未能加载文件或程序集_完美解决未能正确加载Visual C++资源编辑器包问题
  3. 鸿蒙os编码_如何看待鸿蒙OS代码示例?
  4. php yat grpc,PHP GRPC 模块安装配置-Go语言中文社区
  5. JavaScript从入门到放弃-JavaScript历史介绍
  6. php判断字符串里有英文,PHP针对中英文混合字符串长度判断及截取方法示例
  7. mysql半连接_MySQL优化案例:半连接(semi join)优化方式导致的查询性能低下(转载)...
  8. python什么是堆什么是栈_顶置篇:CPython的内存概念:栈、堆和引用
  9. java流错误的是什么_Java 流异常的标准处理 | 学步园
  10. Java cache类型_为什么有些Java 类方法中要cache类变量