场景重现

无效场景一

现在我们来一个正常的例子

  1. <!DOCTYPE html>
  2. <html>
  3. <head>
  4. <meta http-equiv="Content-type" content="text/html;charset=utf-8">
  5. <meta name="viewport" content="width=device-width, initial-scale=1, maximum-scale=1, user-scalable=no">
  6. <title></title>
  7. <style>
  8. .text-deal{
  9. white-space: nowrap;
  10. overflow: hidden;
  11. text-overflow: ellipsis;
  12. }
  13. </style>
  14. </head>
  15. <body>
  16. <div class="text-deal">
  17. 这是一个有效果的文字超出用省略号代替的例子,你看可以吗?
  18. </div>
  19. </body>
  20. </html>

切换到手机模式后你就可以看到效果了,这样写是没有问题的,但是还有一些情况我们现在用得也比较多,弹性布局。现在我们就来个简单的但足以说明问题的例子。来吧,骚年。

  1. <!DOCTYPE html>
  2. <html>
  3. <head>
  4. <meta http-equiv="Content-type" content="text/html;charset=utf-8">
  5. <meta name="viewport" content="width=device-width, initial-scale=1, maximum-scale=1, user-scalable=no">
  6. <title></title>
  7. <style>
  8. .parent{
  9. display: flex;
  10. }
  11. .children{
  12. flex: 1;
  13. /*min-width: 0;*/
  14. }
  15. .text-deal{
  16. white-space: nowrap;
  17. overflow: hidden;
  18. text-overflow: ellipsis;
  19. }
  20. </style>
  21. </head>
  22. <body>
  23. <div class="parent">
  24. <div class="children">
  25. <div class="text-deal">
  26. 这是一个有效果的文字超出用省略号代替的例子,你看可以吗?
  27. </div>
  28. </div>
  29. </div>
  30. </body>
  31. </html>

切换到手机模式运行上面这个例子,你会看到超出去的文字竟然没有被变成省略号。如下图:

这是什么问题呢,这个问题我也不太清楚,但我知道怎么才可以让text-overflow: ellipsis;起作用。你仔细看下上面的样式代码,里面有一行代码被注释掉了,你把他放出来,就可以解决了text-overflow:ellipsis文字超出省略号代替不起作用的问题了。不只是min-width属性可以,width属性也可以,并且值可以是任意,不信,你试试!

无效场景二

这里还有一种情况也需要我们注意的,如果你用了-webkit-line-clamp: 1; 这个属性来控制多少行再省略,那么就你得像下面这样写:

看这里
  1. .text-deal{
  2. overflow : hidden;
  3. text-overflow: ellipsis;
  4. display: -webkit-box;
  5. -webkit-line-clamp: 1;
  6. -webkit-box-orient: vertical;
  7. }

在一般情况下也是没问题的,就像平时的那么在一定的场景中就会出现问题省略号无效的情况。代码如下:

天算不如天算
  1. <h3>一般情况下没问题</h3>
  2. <div class="parent">
  3. <div class="children">
  4. <div class="text-deal"> A an a boy,and you.A an a boy,and you.A an a boy,and you.A an a boy,and you. </div>
  5. <div class="text-deal">省略号不起作用省略号不起作用省略号不起作用省略号不起作用省略号不起作用省略号不起作用省略号不起作用省略号不起作用省略号不起作用省略号不起作用</div>
  6. </div>
  7. </div>
  8. <h3>比较极端的情况就会有问题</h3>
  9. <div class="parent">
  10. <div class="children">
  11. <div class="text-deal">111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111</div>
  12. <div class="text-deal"> aasdsdaasdsdaasdsdaasdsdaasdsdaasdsdaasdsdaasdsdaasdsdaasdsdaasdsdaasdsdaasdsdaasdsdaasdsdaasdsdaasdsdaasdsdaasdsdaasdsdaasdsd</div>
  13. </div>
  14. </div>

测试的世界里充满极端,效果如下图所示:

所以上面那么极端的情况就会横空出世,但在证据你也只能把测试送过来的反人类场景进行处理。样式改进如下:

被极端逼出来的极致
  1. .text-deal{
  2. overflow : hidden;
  3. text-overflow: ellipsis;
  4. display: -webkit-box;
  5. -webkit-line-clamp: 1;
  6. -webkit-box-orient: vertical;
  7. word-break: break-all; /* 追加这一行代码 */
  8. }

只需要添加一行代码(word-break:break-all)就可以了。

最终效果如下:

从上面的两个应用场景中我们不妨总结下(完美方案):

完美到没朋友
  1. .text-deal{
  2. overflow : hidden;
  3. text-overflow: ellipsis;
  4. display: -webkit-box;
  5. -webkit-line-clamp: 1;
  6. -webkit-box-orient: vertical;
  7. word-break: break-all; /* 追加这一行代码 */
  8. }

上面这种方法可以实现 n 行后加省略号,比如 1 行、2行、3行……,所以上面这个是通用方法,当然也也可以使用场景一中的解决方法,只不过那种方案只适合一行省略。

text-overflow:ellipsis 文字超出省略号代替不起作用解决方法相关推荐

  1. flex布局下文字超出省略号代替不起作用解决方法

    项目中发现,在flex布局下,希望目标元素文字超出省略号时,text-overflow: ellipsis属性无效,结论是设置文字超出省略号的元素,然后网上找了一圈设置父元素width: 0.over ...

  2. css文字超出省略号代替不起作用解决方法汇总大全

    先贴一个文字超出后显示省略号的css样式: 单行文字超出显示省略号: .cont{overflow:hidden;/*内容超出后隐藏*/text-overflow:ellipsis;/*超出内容显示为 ...

  3. css文字超出省略号显示

    单行 width:100px; overflow: hidden;/*文字超出隐藏*/ text-overflow: ellipsis;/*文字超出省略号显示*/ white-space: nowra ...

  4. php 文字超出画布,input实现文字超出省略号(代码示例)

    本篇文章给大家带来的内容是关于input实现文字超出省略号(代码示例),有一定的参考价值,有需要的朋友可以参考一下,希望对你有所帮助. input实现文字省略号功能 普通元素实现文字超出宽度自动变成省 ...

  5. input实现文字超出省略号功能

    input实现文字省略号功能 普通元素实现文字超出宽度自动变成省略号非常简单,给元素加个宽度,然后再加这三句css即可: white-space: nowrap;text-overflow: elli ...

  6. php 超出省略号,input实现文字超出省略号(代码示例)

    本篇文章给大家带来的内容是关于input实现文字超出省略号(代码示例),有一定的参考价值,有需要的朋友可以参考一下,希望对你有所帮助. input实现文字省略号功能 普通元素实现文字超出宽度自动变成省 ...

  7. 【Microsoft Word】编辑文字后,图片位置混乱的解决方法

    [Microsoft Word]编辑文字后,图片位置混乱的解决方法 参考文章: (1)[Microsoft Word]编辑文字后,图片位置混乱的解决方法 (2)https://www.cnblogs. ...

  8. XPath匹配标签使用text()判断获取结果失败/为空的问题及解决方法

    XPath匹配标签使用text()判断获取结果失败/为空的问题及解决方法 参考文章: (1)XPath匹配标签使用text()判断获取结果失败/为空的问题及解决方法 (2)https://www.cn ...

  9. html图片在wps中不显示文字大小,WPS文字插入图片显示不全怎么办 WPS文字插入图片显示不完整的解决方法...

    在wps文字编辑文档时,如果我们在使用时插入图片显示不全,这种情况我们该怎么解决呢?想必有不少的用户遇到过这种问题,下面教程之家网为大家带来WPS文字插入图片显示不完整的解决方法,不知道怎么解决的朋友 ...

最新文章

  1. Java-----instanceof、isInstance、isAssignableFrom
  2. Java反射中method.isBridge() 桥接方法
  3. 【NOI2013】向量内积
  4. Angular DefaultDomRenderer2.setProperty - HTML的值是如何从Angular Component flow过来的,以及跨平台支持
  5. php restful规范,RESTFul API规范 详细指南
  6. leetcode-54 螺旋矩阵
  7. 基于DispatchProxy打造自定义AOP组件
  8. mysql2008优化_SQL server 2008 数据库优化常用脚本
  9. maven docker plugin 常见问题解决
  10. 笨鸟都没有先飞怎么办。。。
  11. 私有化 Serverless Application 的探索与思考
  12. 手机运行慢可以刷机吗_为什么手机卡顿,反应变慢怎么解决?一定要刷机吗?...
  13. 时间序列分析:平稳时间序列建模
  14. Servlet的Request和Response
  15. 打造我们自己的数字图书馆
  16. 因特网(Internet)与万维网(www)区别
  17. jetson xavier nx 系统及相关环境配置(cuda,torchvision,torch,tensorflow,opencv)
  18. 计算机网络实验路由器配置
  19. 【托业】【跨栏】REVIEW2
  20. Android Studio快捷键记录

热门文章

  1. TOUGH系列软件建模实践方法及在地下水、CO2地质封存、水文地球化学、地热等多相多组分系统多过程耦合高级教程
  2. python中的常用命令
  3. 190行LUA撸撸撸了一天。
  4. 显示倒计时的Dialog
  5. Python文本分析——词云图(wordcloud+jieba)
  6. 利用 Python 一键下载网易云音乐 10W+ 乐库
  7. 网易云音乐java爬虫_一起来写网易云音乐Java爬虫
  8. 一文看懂js中元素的客户区大小(clientWidth,clientHeight)
  9. NOI-1.5(08) 多边形内角和
  10. 汇编语言程序设计实验一