通过css实现div中文本内容显示N行,超过部分用省略号显示

一、div内显示一行,超出部分用省略号显示

white-space: nowrap;
overflow: hidden;
text-overflow: ellipsis;

  

二、div内显示N行,超出部分用省略号显示

overflow: hidden;
text-overflow: ellipsis;
display: -webkit-box;
-webkit-line-clamp: 2;(希望显示N行-webkit-line-clamp的变为N)
-webkit-box-orient: vertical;

  

注意:-webkit-line-clamp 是一个 不规范的属性(unsupported WebKit property),它没有出现在 CSS 规范草案中。限制在一个块元素显示的文本的行数。 为了实现该效果,它需要组合其他外来的WebKit属性。常见结合属性:

display: -webkit-box; 必须结合的属性 ,将对象作为弹性伸缩盒子模型显示 。
-webkit-box-orient 必须结合的属性 ,设置或检索伸缩盒对象的子元素的排列方式 。
text-overflow,可以用来多行文本的情况下,用省略号“...”隐藏超出范围的文本 。

  

但是在vue项目中,一启动项目就会发现多行文本隐藏失效了,打开控制台发现-webkit-box-orient: vertical; 这行代码没了,原因是在打包部署的时候此属性会被删掉,解决方法如下:

在 package.json 中修改 browserslist :

"browserslist": [
	  "> 1%",
	  "last 2 versions",
	  "last 10 Chrome versions",
	  "last 5 Firefox versions",
	  "Safari >= 6",
	  "ie > 8"
]

  

转自:

https://blog.csdn.net/zf18234031156/article/details/80972414

https://blog.csdn.net/kuguhuan/article/details/104865509

 

posted @ 2021-04-08 09:29  祭·司  阅读(933)  评论(0编辑  收藏  举报