如何在火狐浏览器中让多行文字只显示两行且多余的文字用省略号代替

如何在火狐浏览器中让多行文字只显示两行且多余的文字用省略号代替,
下面的代码在谷歌浏览器是正常的,在火狐里就没有省略号了
图片描述
图片描述
html:

<!DOCTYPE html>
<html lang="en">
<head>
<meta charset="utf-8"/>
<title>省略字符</title>
<style type="text/css">
    div{
        width: 100px;
        height: 40px;
        border:solid 1px black;
        /*多行文本省略*/
        overflow : hidden;
        text-overflow: ellipsis;
        display: -webkit-box;
        -webkit-line-clamp: 2;
        -webkit-box-orient: vertical;

        display: -moz-box;
        -moz-line-clamp: 2;
        -moz-box-orient: vertical;

    }
    
</style>
</head>
<body>
<div>
    测试是否可以省略字符测试是否可以省略字符
</div>
</body>
</html>
阅读 12.6k
1 个回答
line-clamp 只支持webkit内核的浏览器,所以Firefox下这个功能失效。可以使用hack技术弥补下。
div{
    width: 100px;
    height: 40px;
    line-height: 20px;
    border:solid 1px black;
    position: relative;        
    /*多行文本省略*/
    overflow : hidden;
    text-overflow: ellipsis;

    display: -moz-box;
    -moz-line-clamp: 2!important;
    -moz-box-orient: vertical;
    
    /*! autoprefixer: off */
    display: -webkit-box;
    -webkit-line-clamp: 2;
    -webkit-box-orient: vertical;
}
// 后面自动补上点
div:after {
    background: linear-gradient(to right, rgba(255, 255, 255, 0), #FFFFFF 50%) repeat scroll 0 0 rgba(0, 0, 0, 0);
    bottom: 0;
    content: "...";
    padding: 0 5px 1px 30px;
    position: absolute;
    right: 0;
}
撰写回答
你尚未登录,登录后可以
  • 和开发者交流问题的细节
  • 关注并接收问题和回答的更新提醒
  • 参与内容的编辑和改进,让解决方法与时俱进
宣传栏