首先看下我们测试例子的代码,很简单的代码,就是一个div,div里就是一段很长的字符串内容。
运行后,就是一个普通的div内容块。
如果我们的内容显示只需要显示一行,其余的隐藏,那就很简单,我们加上css样式就可以了,只需要三行样式代码,如下:
white-space: nowrap; //这行是让字符显示不要换行,只在一行里显示
overflow: hidden; //这行是让字符显示超过div容器宽度时,就隐藏内容
text-overflow:ellipsis; // 这行是当字符超过div窗口宽度时,就加上省略号
为了对比效果,我这里再加一段div的内容。 如图
刷新页面后,效果如图,内容显示在一行里了,超过容器的字符不显示,并用省略号表示。(我们真实的字符串里,是没有省略号的)
如果我们需要显示的内容不止一行时,又要怎么处理?
比如div最多显示二行内容,超过的隐藏不显示。我们还是通过css来处理。代码如下,
overflow: hidden;
-webkit-line-clamp: 2;
display: -webkit-box;
-webkit-box-orient: vertical;
运行效果如图,
但这个效果只能在Chrome,Safari浏览器下有效,因为用的是webkit特有的样式,FireFox,IE等浏览器下无效。
那么在FireFox,IE浏览器下,要怎么处理呢?我们可以加上一行样式,设置div容器的最大高度,代码如下,
max-height: 40px; // 这个高度就是二行字符显示的高度,
FireFox浏览器下运行如下,没有省略号的效果,但也能接受了。
0 篇文章
如果觉得我的文章对您有用,请随意打赏。你的支持将鼓励我继续创作!