当前位置: 首页 > Web前端 > HTML5

text-overflow移动端多行文字溢出显示省略号(…)

时间:2023-04-05 23:38:08 HTML5

大家应该都知道,text-overflow:ellipsis属性是用来实现单行文字带省略号的溢出显示(…).当然有些浏览器还需要增加width属性。溢出:隐藏;文本溢出:省略号;空白:nowrap;但是该属性不支持多行文字溢出显示省略号,这里根据应用场景介绍几种实现该效果的方法。WebKit浏览器或移动端中的页面在WebKit浏览器或移动端实现起来比较简单(大部分都是以WebKit为核心的浏览器),可以直接使用WebKit的CSS扩展属性(WebKit是私有属性)-webkit-line-夹钳;注意:这是不受支持的WebKit属性,未出现在CSS规范草案中。-webkit-line-clamp用于限制块元素中显示的文本行数。为了达到这个效果,需要结合其他的WebKit属性。常用组合属性:display:-webkit-box;必须组合以将对象显示为灵活的盒模型的属性。-webkit-box-orient必须与设置或检索flexbox对象子元素排列的属性结合。text-overflow:ellipsis;,可用于多行文本的情况,使用省略号“...”隐藏超出范围的文本。溢出:隐藏;文本溢出:省略号;显示:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:垂直;这个属性比较适合WebKit浏览器或者移动端(多为WebKit内核)浏览器。具体例子可以参考http://www.css88.com/webkit/-webkit-line-clamp/跨浏览器兼容的方案更加可靠和简单。简单的方法是设置相对定位容器的高度,使用省略号(...)元素模拟实现;例如:p{位置:相对;行高:1.4em;/*3倍行高显示3行*/height:4.2em;溢出:隐藏;}p::after{内容:“...”;字体粗细:粗体;位置:绝对;底部:0;右:0;填充:020px1px45px;background:url(http://www.css88.com/wp-content/uploads/2014/09/ellipsis_bg.png)repeat-y;}这里有几点要注意:高度真的是线的3倍-高度;末尾的省略好用translucentpng做lightening效果,或者设置Backgroundcolor;IE6-7不显示content内容,所以要兼容IE6-7,可以给content加上标签,比如用...来模拟;为了支持IE8,需要将::after替换为:after;JavaScript方案也可以按照上面的思路用js模拟,实现起来也很简单。类似任务推荐几款成熟的小工具:1.Clamp.js下载及文档地址:https://github.com/josephschmitt/Clamp.js使用也很简单:varmodule=document.getElementById("clamp-this-module");$clamp(module,{clamp:3});2.jQueryPlugin-jQuery.dotdotdot这个用起来也很方便:$(document).ready(function(){$("#wrapper").dotdotdot({//con图形在这里});});

最新推荐
猜你喜欢