多行文本溢出显示省略号 多行文本折行省略并存

最近在项目的制作过程中遇到超出需要折行的问题
如果是一行超出

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

问题

如果是两行显示,第一行折行,第二行需要超出省略该如何实现呢?
或者第N行要省略该如何解决呢?如果是两行显示,第一行折行,第二行需要超出省略该如何实现呢?

解决

  • 解决方案1 css 的不规则属性解决

-webkit-line-clamp 是一个不规则属性,不出现在css 草案中。用来实现块级元素显示几行,它需要与其他元素组合使用

display:-webkit-box;
-webkit-box-orient: vertical; // 从上向下垂直排列子元素。设置或检索伸缩盒对象的子元素的排列方式 。
text-overflow: ellipsis; //文本溢出 用省略号显示
-webkit-line-clamp: 2;
overflow: hidden;

当然也需要设置高度来配合显示

  • 解决方案2 css 的伪类实现

对要显示的文字进行相对定位
对省略号进行绝对定位

p {
    position: relative;
    line-height: 1.4em;
    height: 4.2em // 1.4 *3 显示三行的 所有高度是行高的三倍
    overflow: hidden;
}

p::after {
    content: '...',
    position: absolute,
    bottom: 0;
    right: 0;
    padding: 5px;
}

demo https://jsfiddle.net/mayufo/xv3wub7s/1/

  • 解决方案3:js解决方法

Clamp.js 这个就不具体展开了

可以参考demo http://codepen.io/feiwen8772/pen/AckqK

参考

转载于:https://www.cnblogs.com/mayufo/p/5682195.html

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值