winney

It is never too old to learn.

0%
winney

火狐兼容

文本溢出省略号显示-火狐不兼容

第一种解决方案:

layui框架对文本溢出隐藏省略号显示
文本溢出省略号显示-火狐不兼容

解决:将溢出文字修剪,而不用省略号显示
1
2
3
.activity-table .layui-table-cell{
text-overflow: clip;
}

文本溢出省略号显示-火狐不兼容

第二种解决方案:

文本溢出省略号显示-火狐不兼容

使用:

1
2
3
overflow: hidden;
text-overflow: ellipsis;
white-space: nowrap;

在谷歌浏览器没有问题。火狐浏览器不兼容,IE对文本溢出本来是没有兼容问题的,因为这个文本是在表格(table)里面的,所以IE也会有兼容问题。

要解决IE的兼容问题,要将td改为display:inline-block;

由于改为这样,样式需要改变的地方比较多,而且还是不兼容火狐,所以使用JQ截取字符串来解决.

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
//页面结构
<td class="link word_cont">
Android:<a href="" target="_blank"></a>
<br>
ios:<a href="" target="_blank"></a>
</td>
//处理溢出隐藏省略号显示 兼容性问题
$('.word_cont a').each(function(){
//获取td宽度
var tdWidth = $(".word_cont").width();
//一个字符宽度
var internal = 5;
//显示个数
var maxwidth = Math.floor((tdWidth- 160)/internal) ;

if($(this).text().length>maxwidth){
//截取字符串
$(this).text($(this).text().substring(0,maxwidth));
//多余的用省略号显示
$(this).html($(this).html()+'...');
}
//先隐藏,截取之后,再显示
$(this).css("display", "inline-block");
});

但是有个问题,由于字母,数字,分号(.),空格( )的字符大小不太一样,
所以以一个字符5px来算,不是特别精准。但大致可以解决这个问题。
(若有更好的方法,可以留言给我,感谢!)

插件

火狐浏览器使用firebug插件