为了账号安全,请及时绑定邮箱和手机立即绑定

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

标签:
Html/CSS

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

单行文本的溢出

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

效果:

webp

0.png

多行文本的溢出

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

效果:


webp

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

<div id="con">
  <span id="txt">文本溢出显示省略号,文本溢出显示省略号,文本溢出显示省略号,文本溢出显示省略</span>
  <span class="t"></span>
</div>
<style>
#txt{
  display: inline-block;
  height: 40px;
  width: 250px;
  line-height: 20px;
  overflow: hidden;
  font-size: 16px;
}
.t:after{
  display: inline;
  content: "...";
  font-size: 16px;
    
}
</style>

效果:

webp

2.png

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

该方法改良版:

<head>
    <meta charset="UTF-8">
    <title>test</title>
    <meta name="viewport" content="width=device-width,minimum-scale=1.0,maximum-scale=1.0,user-scalable=no"></script>
    <style>
    #txt{
      display: inline-block;
      height: 40px;
      width: 15em;
      line-height: 20px;
      overflow: hidden;
      font-size: 16px;
      border: 1px solid #f00;
      position: relative;
    }
    #txt:after{
        display: block;
        content: "...";
        font-size: inherit;
        width: 2em;
        position: absolute;
        bottom: 0;        right: 0;
        background: #fff;
        
    }
    </style>
<body>
<span id="txt">简书是一个优质的创作社区,在这里,你可以任性地创作,一篇短文、一张照片、一首诗、一幅画……我们相信,每个人都是生活中的艺术家,有着无穷的创造力。</span>
</body>
</html>

效果图:


webp

111.png

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

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

<p id="con2">
  文本溢出显示省略号,文本溢出显示省略号,文本溢出显示省略号,文本溢出显示省略<span class="t2">...</span>
</p>
<style>
#con2{
  position: relative;
  height: 40px;
  width: 250px;
  line-height: 20px;
  overflow: hidden;
  padding-right: 12px;
}  
.t2{
  position: absolute;  right: 0;
  bottom: 0;
}
</style>

效果:

webp

3.png

参考:



作者:恬雅过客
链接:https://www.jianshu.com/p/8ee202c7ff42


点击查看更多内容
TA 点赞

若觉得本文不错,就分享一下吧!

评论

作者其他优质文章

正在加载中
  • 推荐
  • 评论
  • 收藏
  • 共同学习,写下你的评论
感谢您的支持,我会继续努力的~
扫码打赏,你说多少就多少
赞赏金额会直接到老师账户
支付方式
打开微信扫一扫,即可进行扫码打赏哦
今天注册有机会得

100积分直接送

付费专栏免费学

大额优惠券免费领

立即参与 放弃机会
意见反馈 帮助中心 APP下载
官方微信

举报

0/150
提交
取消