其实在我们页面布局中,会遇到关于文字溢出需要打省略号的一个问题,常规的做法是利用CSS来解决,或者使用第三方的库来解决,我们也可以封装一个JS来解决,下面我将分别介绍这几种方法是如何解决文字溢出的问题。
方法一:使用CSS来解决
a. 单行文字溢出:
1 |
|
1 |
|
得到的内容如下所示:
需要注意:在WebKit浏览器或移动端(绝大部分是WebKit内核的浏览器)的页面实现比较简单,可以直接使用WebKit的CSS扩展属性(WebKit是私有属性)-webkit-line-clamp ;注意:这是一个不规范的属性(unsupported WebKit property),它没有出现在 CSS 规范草案中。
c. 为了解决b中多行文字溢出的一个兼容性问题,因此我们可以设置相对定位的容器高度,用包含省略号(…)的元素模拟实现(跨浏览器兼容方法)
1 |
|
得到的内容如下图所示:
但是这种写法我们还是需要注意:1. 需要知道显示的行数并设置行高才行;2. 省略号的背景颜色跟文本背景颜色一样,并且可能会遮住部分文字,建议可以使用渐变的png背景图片代替;3. IE6-7不显示content内容,所以要兼容IE6-7可以是在内容中加入一个标签,比如用…去模拟;4. 要支持IE8,需要将::after替换成:after。
方法二:使用第三方的库来解决
a. jQuery的插件: jQuery.dotdotdot
b. Clamp.js
方法三:自己手动封装一个js的溢出打点方法
1 |
|
得到的内容如下图所示:
本文章参考:
https://www.html.cn/archives/5206