Last active
December 18, 2019 15:00
-
-
Save kogakure/27b6e02034bae4ed7c70 to your computer and use it in GitHub Desktop.
Pure CSS multiline text with ellipsis
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
/* http://martinwolf.org/2013/01/29/pure-css-multiline-text-with-ellipsis/ */ | |
$font-size: 26px; | |
$line-height: 1.4; | |
$lines-to-show: 3; | |
h2 { | |
display: block; /* Fallback for non-webkit */ | |
display: -webkit-box; | |
max-width: 400px; | |
height: $font-size*$line-height*$lines-to-show; /* Fallback for non-webkit */ | |
margin: 0 auto; | |
font-size: $font-size; | |
line-height: $line-height; | |
-webkit-line-clamp: $lines-to-show; | |
-webkit-box-orient: vertical; | |
overflow: hidden; | |
text-overflow: ellipsis; | |
} |
@kogakure Seems like -webkit-box
is a old 2009 version of flex
. Replacing it with flex
seems to break this implementation. The reason for trying to make it flex
is not just due to keeping up with the spec, but I would like to have align-items: center;
that works in flex but not -webkit-box
. In summary, I need to set the div to a certain height and if the text is short, it is vertically centered; if it's long, it fills the space and ellipsis when text overflows.
There are some solutions and most important one of them is written in pure-css and it is cross-browser.
http://hackingui.com/front-end/a-pure-css-solution-for-multiline-text-truncation/
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
solankepl 👍
Cant make to work in FF and IE. Spend days figuring out that there is no css solution for this one..