问题

多行文本溢出隐藏,webkit内核浏览器如谷歌支持如下写法:

overflow: hidden;
text-overflow: ellipsis;
display: -webkit-box;
-webkit-line-clamp: 2;
-webkit-box-orient: vertical;

而其他内核不支持,如IE和火狐,故用JS做兼容

思路

获取目标文本行高line-height,内容高度offsetHeight

假设 x 行文本溢出隐藏

内容高度除以行高大于x,则加上溢出隐藏的css类名

效果图

html代码

<div class="textBox">
<div class="text texter">我是时代的残党,新世界没有载我的船。我是时代的残党,新世界没有载我的船。</div>
</div> <div class="textBox">
<div class="text texter">我是时代的残党,新世界没有载我的船。我是时代的残党,新世界没有载我的船。</div>
</div> <div class="textBox">
<div class="text texter">我是时代的残党,新世界没有载我的船。我是时代的残党</div>
</div>
<div class="textBox">
<div class="text texter">我是时代的残党,新世界没有载我的船。我是时代的残党</div>
</div>

css代码

textBox{
padding:10px;
margin-bottom:40px;
width:14em;
border:1px dashed #000000;
}
.text{
line-height:14px;
font-size:14px;
overflow:hidden;
position:relative;
}
.texter{
height:28px;
}
.texter:after{
content: ' ... ',
position:absolute;
bottom:;
right:;
padding-left:10px;
background: -webkit-linear-gradient(left,transparent, #fff 40%); /* Safari 5.1-6.0 */
background: -o-linear-gradient(left, #fff 50%); /* Opera 11.1-12.0 */
background: -moz-linear-gradient(left, #fff 50%); /* Firefox 3.6-15 */
background: linear-gradient(); /* 标准语法 */
}

JS代码

var oList = document.querySelectorAll('.text');
oList.forEach(function(item){
var oHeight = item.offsetHeight;
if((oHeight/14)>2){
item.className = 'text texter'
}
})

多行文本溢出隐藏处理,兼容ie,火狐的更多相关文章

  1. html单行、多行文本溢出隐藏

    欢迎加入前端交流群来py:749539640 单行: div{/* 单行溢出隐藏 */ width: 150px; white-space: nowrap; overflow: hidden; tex ...

  2. CSS控制Span强制换行、溢出隐藏

    CSS控制Span强制换行 word-wrap: break-word; word-break: break-all; white-space: pre-wrap !important; 盒子文字设置 ...

  3. 多行文本溢出显示省略号(…) text-overflow: ellipsis

    详解text-overflow 语法: text-overflow:clip | ellipsis 默认值:clip 适用于:块级容器元素 继承性:无 动画性:否 计算值:指定值 取值: clip:当 ...

  4. 布局常见问题之css实现多行文本溢出显示省略号(…)全攻略

    省略号在ie中可以使用text-overflow:ellipsis了,但有很多的浏览器都需要固定宽度了,同时ff这些浏览器并不支持text-overflow:ellipsis设置了,下文来给各位整理一 ...

  5. 【CSS/JS学习】如何实现单行/多行文本溢出的省略(...)--老司机绕过坑道的正确姿势

    引言: 写前端UI的朋友们也许都遇到过这样的问题:我们需要实现这样一个需求,在一个父级元素中隐藏一个可能过长的文本:   这个文本可能是单行的:   也可能是多行的:   下面我就给大家展示如何简单或 ...

  6. css实现多行文本溢出显示省略号(…)全攻略

    省略号在ie中可以使用text-overflow:ellipsis了,但有很多的浏览器都需要固定宽度了,同时ff这些浏览器并不支持text-overflow:ellipsis设置了,下文来给各位整理一 ...

  7. 【CSS/JS】如何实现单行/多行文本溢出的省略(...)--老司机绕过坑道的正确姿势

    写前端UI的朋友们也许都遇到过这样的问题:我们需要实现这样一个需求,在一个父级元素中隐藏一个可能过长的文本:   这个文本可能是单行的:   也可能是多行的:   下面我就给大家展示如何简单或优雅地实 ...

  8. css文本溢出隐藏显示省略号(单行+多行)

    文本超出若干行就换行,这个功能几乎每个文本浏览网站都会用到,实现它的办法也有很多,今天简单的介绍一下实现它的方法.  一. 单行文本不换行,并将超出文本隐藏 .box-content{     ove ...

  9. CSS单行、多行文本溢出显示省略号(……)解决方案

    单行文本溢出显示省略号(-) text-overflow:ellipsis-----部分浏览器还需要加宽度width属性 .ellipsis{ overflow: hidden; text-overf ...

随机推荐

  1. 二维数组中的查找-剑指 offerP38

    题目: 在一个二维数组中,每一行都按照从左到右递增的顺序排序,每一列都按照从上到下递增的顺序排序.请完成一个函数,输入这样的一个二维数组和一个整数,判断数组中是否含有该整数. 解题思路:<剑指 ...

  2. poj-2289.jamies contact groups(二分答案 + 二分多重匹配)

    Jamie's Contact Groups Time Limit: 7000MS   Memory Limit: 65536K Total Submissions: 9227   Accepted: ...

  3. <每日一题> Day2:CodeForces-1141C.PolycarpRestoresPermutation(思维题)

    原题链接 参考代码: #include <iostream> #include <cstring> using namespace std; + , INF = 0x3f3f3 ...

  4. dfs(找环)

    https://codeforces.com/problemset/problem/1249/B2 B2. Books Exchange (hard version) time limit per t ...

  5. (转载)图解Java多态内存分配以及多态中成员方法的特点

    图解Java多态内存分配以及多态中成员方法的特点   图解Java多态内存分配以及多态中成员方法的特点   Person worker = new Worker(); 子类实例对象地址赋值给父类类型引 ...

  6. RMAN备份与恢复 —— 完全恢复与不完全恢复

    名词解释: 顾名思义,完全恢复就是指数据没有丢失的恢复了.不完全恢复是指恢复后有部分数据丢失.它们是数据库的两种恢复方式.        完全恢复:利用重做日志或增量备份将数据块恢复到最接近当前时间的 ...

  7. JVM内存模型及参数调优

    堆.栈.方法区概念区别 1.堆 堆内存用于存放由new创建的对象和数组.在堆中分配的内存,由java虚拟机自动垃圾回收器来管理.根据垃圾回收机制的不同, Java堆有可能拥有不同的结构,最为常见的就是 ...

  8. C语言如何使输出的数字对齐

    右对齐%numd(num是位数,比如按5位数的长度输出,num为正数则右对齐) #include <stdio.h> int main() { printf(, ); printf(, ) ...

  9. tomcat闪屏是jdk JAVA_HOEM环境变量配置问题

    JAVA_HOME=D:\jdk.18

  10. python特殊的类属性

    类C的特殊属性: C.__name__ 类C的名字 C.__doc__ 类C文档字符串 C.__bases__ 类C所有父类的元组 C.__dict__ 类C的属性 C.__module__ 类C所在 ...