单行文本溢出省略号一般我们都知道实现方法。
.xxx { overflow: hidden; text-overflow: ellipsis; white-space: nowrap; }
那么如果多行文本应该怎么做呢,伟大的chrome 又走在了时代前沿,可以使用-webkit-line-clamp
这个属性来实现,这个属性已经有年头了,但是其他浏览器仍然不支持,一声叹息。
.xxx { display:-webkit-box; -webkit-line-clamp:2; -webkit-box-orient:vertical; overflow:hidden; }
-webkit-line-clamp
为行数,如果显示3行,则设置为3即可。
悲剧的是-webkit-line-clamp
只有webkit 内核支持,于是我们要想办法解决这个问题,纯css 完美实现是不显示了,只能优雅降级,可以使用下面的方案,把最大高度设置为n倍行高,然后溢出部分隐藏即可。
.xxx { line-height: 1.2; max-height: 2.4em; overflow: hidden; }
这样做的好处是可以忽略文本的长度,即使文本很短不会出现问题。如果确定文本是肯定溢出的,还可以使用::after
伪类来模拟…
大致代码
.xxx { line-height: 1.2; max-height: 2.4em; overflow: hidden; position: relative; } .xxx:after { content:"..."; position:absolute; bottom: 0; right: 0; background-color: #fff; }
考虑到文本不一定会溢出,最终的解决方案推荐
.xxx { line-height: 1.2; max-height: 2.4em; display:-webkit-box; -webkit-line-clamp:2; -webkit-box-orient:vertical; overflow:hidden; }
全文完。
我一定是沙发了~
文章技术性太强,差评。祝你爸比生日快乐
这个好哎,经常能碰到多行省略的情况,碰到这种问题一般都是跟设计师怼回去了。。。
我来排个队形而已
谷歌总是走在最前端,根据目前国内浏览器的情况,基于webkit的还是很多的,希望以后普及吧
display:table好像也可以
纯技术文章~
我也来排个队形而已
赶紧收藏。
这个很有用
这个可以有,虽然看不懂。
看着好复杂
强烈建议文章阅读界面,让用户可以选择是否显示还是隐藏sidebar,来自强迫症阅读者的建议
侧边栏对于专注阅读文章主体,容易造成视觉污染啊~
@adomit 然而你见过几个网站只有内容的
@bigfa 广告居多,其他内容一般也没有太大作用。
这个确实好用方便很多。。特别是对手机端
平行世界让我想起 源代码 电影。。。