最近@子凡 在做泪雪博客的新版本,作为一个追求极致的人,所以很多细节都想要做得更好,也是更好的带来用户体验。然后超过三行的字符用省略号显示,之前一直就使用的是单行溢出显示省略号,这次还真的是遇到点问题,所以就 Google 了一下。

先看看单行文本溢出显示省略号的 CSS 写法:

1
2
3
4
5
6
7
8
9
/*单行文本溢出显示省略号的CSS写法*/
.demo{
    width: 150px;
    height: 25px;
    line-height: 25px;
    overflow: hidden;
    white-space: nowrap;
    text-overflow: ellipsis;
}

上面的代码是早就有的标准单行文本溢出省略号的写法,在非常多的场景下我相信大家都可能使用过这种写法。

多行的显示该如何解决呢,后面经过查找后,chrome 的一个 API 可以解决上面提到的需求-webkit-line-clamp,可惜这个 API 居然目前只有 chrome 才能支持,而且并没有列入 W3C 的标准范凑内,也就是日后这个功能也只能是在 chrome 下才能用,这实在太可惜了,不过现在的移动端都是用的 webkit 的内核,所以可以放心的使用上面的 API,至于是 PC 端的话,子凡觉得依然可以做,只是需要看用户使用什么浏览器了,所以就算是 PC 端,子凡这次还是任性的这样做。

1
2
3
4
5
6
7
8
9
/*多行文本溢出显示省略号的CSS写法*/
.demo{
    width:150px;
    overflow : hidden;
    text-overflow: ellipsis;
    display: -webkit-box;
    -webkit-line-clamp: 2;/*行数*/
    -webkit-box-orient: vertical;
}

如果大家还有什么更好的解决方案,欢迎留言交流!

发表评论
登录后参与评论
  1. wujianmin
    1楼
    wujianmin 2016-12-5

    期待完美的方案

专注 WordPress 网站优化解决方案! 加入我们