文本溢出显示省略号(单行和多行)

平时用的较多的事单行文本溢出显示省略号,做微信端发现移动端不少效果都是多行文本溢出显示省略号,故而总结一下,方便今后使用。

单行文本的溢出

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

效果:

0.png

多行文本的溢出

display: -webkit-box;
-webkit-box-orient: vertical;
-webkit-line-clamp: 3;/*行数*/
overflow: hidden;
text-overflow: ellipsis;

效果:


111.png

适用范围:

因使用了WebKit的CSS扩展属性,该方法适用于WebKit浏览器及移动端;
注:

  1. -webkit-line-clamp用来限制在一个块元素显示的文本的行数。 为了实现该效果,它需要组合其他的WebKit属性。常见结合属性:
  2. display: -webkit-box; 必须结合的属性 ,将对象作为弹性伸缩盒子模型显示 。
  3. -webkit-box-orient 必须结合的属性 ,设置或检索伸缩盒对象的子元素的排列方式 。

另外还有一些解决方法:

  • 利用伪类:after
  • 利用绝对定位和padding;(跨浏览器解决方案)(跟第一种用伪类的方案类似)
  • 利用js插件来实现该功能,如Clamp.js,jQuery.dotdotdot

利用伪类:after

文本溢出显示省略号,文本溢出显示省略号,文本溢出显示省略号,文本溢出显示省略

效果:

2.png

注:
该方法适用范围广,但文字未超出行的情况下也会出现省略号,可结合js优化该方法。

该方法改良版:


    
    test
    
    

是一个优质的创作社区,在这里,你可以任性地创作,一篇短文、一张照片、一首诗、一幅画……我们相信,每个人都是生活中的艺术家,有着无穷的创造力。


效果图:


111.png

注:当文字不满2行时,省略号和文本最后一个字有空白区,还是加js判断才能完美达到效果。

利用绝对定位和padding;(跨浏览器解决方案)

文本溢出显示省略号,文本溢出显示省略号,文本溢出显示省略号,文本溢出显示省略...

效果:

3.png

参考:

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

你可能感兴趣的:(文本溢出显示省略号(单行和多行))