微信公众号搜"智元新知"关注
微信扫一扫可直接关注哦!

css多行省略号兼容性

CSS中的省略号往往用于在卡片或列表中截断文本。相比于截断后直接隐藏,使用省略号可以提供更好的用户体验。但是,如果省略号需要在多行文本中使用,就要考虑到兼容性问题。

	.ellipsis {
	  display: -webkit-Box;
	  -webkit-Box-orient: vertical;
	  -webkit-line-clamp: 3;
	  overflow: hidden;
	  text-overflow: ellipsis;
	}

css多行省略号兼容性

通常情况下,使用以上代码可以在单行文本中实现省略号的效果。但是,当文本内容为多行时,不同浏览器的处理方式也不尽相同。

在Chrome和Safari中,多行省略号可以通过设置-webkit-line-clamp的值来实现。但是,这种做法违反了CSS标准。相比之下,Firefox和IE更加注重遵从标准,不支持这种写法。他们会尝试按照标准将每一行文本裁剪,并在最后一行加上省略号。

为了兼容各个浏览器,我们可以使用CSS3的多列布局来实现多行文本的省略号效果。具体代码如下:

	.ellipsis {
	  display: block;
	  display: -webkit-Box;
	  max-height: 80px;
	  margin: 0;
	  font-size: 14px;
	  text-align: justify;
	  line-height: 1.6;
	  -webkit-line-clamp: 4;
	  -webkit-Box-orient: vertical;
	  overflow: hidden;
	  text-overflow: ellipsis;
	  Box-sizing: border-Box;
	  -moz-Box-sizing: border-Box;
	  -webkit-Box-sizing: border-Box;
	}
	.ellipsis::before {
	  content: '...';
	  float: right;
	  margin-left: -12px;
	  margin-top: -14px;
	}
	.ellipsis::after {
	  content: '';
	  display: inline-block;
	  width: 12px;
	  height: 24px;
	}

这段代码的核心就是通过设置max-height和列数来实现多行文本的截断。这种方式在各个浏览器中都可以稳定地运行,并且提供了更好的用户体验。

版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。