单行省略
overflow:hidden;
text-overflow:ellipsis;
white-space:nowrap
多行省略
基本设置:
display: -webkit-box;/** 对象作为伸缩盒子模型显示 **/
word-break: break-all;
text-overflow: ellipsis;
-webkit-box-orient: vertical;/** 设置或检索伸缩盒对象的子元素的排列方式 **/
-webkit-line-clamp: 3;/** 显示的行数 **/
overflow: hidden;
带兼容方案的:http://www.css88.com/archives/5206
以上多行文本省略方案并不完美,当想要设置固定高度并且文字超出显示的行(-webkit-line-clamp)时,虽然会在固定行显示省略号,但是省略号后面还会有文字显示:
eg:
<!DOCTYPE html>
<html lang="en">
<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>
.inner {
border: 1px solid;
min-height: 150px;
display: -webkit-box;
width: 200px;
text-overflow: ellipsis;
-webkit-box-orient: vertical;
-webkit-line-clamp: 3;
word-break: break-all;
overflow: hidden;
}
</style>
</head>
<body>
<div class="inner">会计3年挪用公款270多万 一人贪腐4名领导被问责会计3年挪用公款270多万 一人贪腐4名领导被问责</div>
</body>
<script>
</script>
</html>
解决办法:可以用一个父元素包裹,将固定高度设置在父元素上
<!DOCTYPE html>
<html lang="en">
<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>
.outer {
width: 200px;
min-height: 150px;
border: 1px solid;
}
.inner {
display: -webkit-box;
text-overflow: ellipsis;
-webkit-box-orient: vertical;
-webkit-line-clamp: 3;
word-break: break-all;
overflow: hidden;
}
</style>
</head>
<body>
<div class="outer">
<div class="inner">会计3年挪用公款270多万 一人贪腐4名领导被问责会计3年挪用公款270多万 一人贪腐4名领导被问责</div>
</div>
</body>
<script>
</script>
</html>