实现单行文字溢出显示...,以及多行文字溢出显示...
上代码看效果!
直接粘贴下面代码,切换注释部分运行看效果就能明白。
<!DOCTYPE html>
<html lang="zh">
<head>
<meta charset="UTF-8" />
<meta name="viewport" content="width=device-width, initial-scale=1.0" />
<meta http-equiv="X-UA-Compatible" content="ie=edge" />
<title>Document</title>
<style type="text/css">
.txt {
width: 100px;
border: aqua 1px solid;;
/*① css实现单行文本溢出显示 ...*/
/*overflow: hidden;
text-overflow: ellipsis;
white-space: nowrap;*/
/*② 实现多行文本溢出显示...*/
/*因使用了WebKit的CSS扩展属性,该方法适用于WebKit浏览器及移动端*/
/*display: -webkit-box;
-webkit-box-orient: vertical;
-webkit-line-clamp: 3;
overflow: hidden;*/
/*③ 末尾有一个渐变的效果,实现方式结合.txt:after代码*/
position: relative;
line-height: 20px;
max-height: 60px;
overflow: hidden;
}
.txt:after {
content: "...";
position: absolute;
bottom: 0;
right: 0;
padding-left: 40px;
background: -webkit-linear-gradient(left, transparent, #fff 55%);
background: -o-linear-gradient(right, transparent, #fff 55%);
background: -moz-linear-gradient(right, transparent, #fff 55%);
background: linear-gradient(to right, transparent, #fff 55%);
}
</style>
</head>
<body>
<div class="txt">
刺激差不多佛山驳我哦啊好不热基本都方便接发耳机不认可of八年级哦百分百拿淘宝那。
</div>
</body>
</html>
第二、三种方式:此方法有个弊端 那就是 【未超出行的情况下也会出现省略号】 ,这样会不会很挫!!! 没办法,只能结合JS 进行优化该方法了。
利用js脚本控制...的显示和隐藏。
注:
- 1、将height设置为line-height的整数倍,防止超出的文字露出。
- 2、给p::after添加渐变背景可避免文字只显示一半。
- 3、由于ie6-7不显示content内容,所以要添加标签兼容ie6-7(如:…);兼容ie8需要将::after替换成:after。