July 22, 2024 /
1 min /
#css
#typography
#frontend
How to truncate texts in multiple lines
The SCSS implementation is as follows:
@mixin truncate-lines($line-count, $breakType: word) { overflow: hidden; text-overflow: ellipsis; display: -webkit-box; white-space: pre-wrap; -webkit-box-orient: vertical; -webkit-line-clamp: $line-count;
@if $breakType =="word" { word-break: break-word; }
@else if $breakType =="letter" { word-break: break-all }
@else { @error "Unknown break type #{$breakType}."; }}
.title { @include truncate-lines(2, "letter")}
The Less implementation is as follows:
.truncate-lines(@lineCount; @breakType: "word") { overflow: hidden; text-overflow: ellipsis; display: -webkit-box; white-space: pre-wrap; -webkit-box-orient: vertical; -webkit-line-clamp: @lineCount;
& when (@breakType = "word") { word-break: break-word; }
& when (@breakType = "letter") { word-break: break-all; }}
.title { .max-lines(2, "letter");}