CSS设置滚动条不占空间、单行/多行文本超出时显示省略号
CSS设置滚动条不占空间、单行/多行文本超出时显示省略号
MDN
滚动条不占空间
overflow: overlay;
行为与auto相同,但滚动条绘制在内容之上而不是占用空间。
仅在基于WebKit(例如,Safari)和基于Blink的(例如,Chrome或Opera)浏览器中受支持。
超出文本显示省略号
text-overflow: ellipsis;
这个关键字的意思是“用一个省略号 (’…’, U+2026 HORIZONTAL ELLIPSIS)来表示被截断的文本”。这个省略号被添加在内容区域中,因此会减少显示的文本。如果空间太小到连省略号都容纳不下,那么这个省略号也会被截断。
这个属性并不会强制“溢出”事件的发生,因此为了能让"text-overflow"能够生效,程序员们必须要在元素上添加几个额外的属性,比如"将overflow设置为hidden"。
<div>div, div, div, div, div, div, div</div>
<span>span, span, span, span, span, span</span>
div {
text-overflow: ellipsis; /* 超出文本显示省略号 */
/* 为了能让"text-overflow"能够生效 */
overflow: hidden;
white-space: nowrap;
width: 100px;
}
span {
text-overflow: ellipsis; /* 超出文本显示省略号 */
/* 为了能让"text-overflow"能够生效 */
overflow: hidden;
white-space: nowrap;
width: 100px;
display: inline-block;
}
多行文本时显示省略号
以上方法只适用于单行文本的情况,若需要在多行文本时显示省略号,则需要使用webkit私有属性:
div, span {
/* 多行文本时显示省略号 */
-webkit-line-clamp: 2; /* 指定的行数 */
/* 为了能让"-webkit-line-clamp"能够生效 */
display: -webkit-box;
-webkit-box-orient: vertical;
overflow: hidden;
width: 100px;
}