EDITS: Changed the ellipses to ellipsis as pointed out. And the common consensus is that I will need to use js for the same. Thank you.
ORIGINAL QUESTION: I am trying to display a card that shows only one line of the description, and terminates the line with ellipses. On clicking, the entire description should be available. I have been able to display only 1 line by specifying
overflow:hidden;
whitespace:nowrap;
text-overflow:ellipsis;
but it cuts off the last word. Is there a way to display only one line without breaking the word?
Here is a link to my codepen: https://codepen.io/npnair/pen/BaNmXyM?editors=1100
Here is the html:
<div class="search-card">
<img class="search-card-img-left"
src="https://image.shutterstock.com/image-photo/spring-blossom-background-beautiful-nature-260nw-1033292395.jpg">
<div class="search-card-body">
<h2 class="search-card-title"> Trump tells Bar he can stay - but makes clear that the tweets will continue </h2>
<p class="search-desc"> President has full faith and confidence in his hand-picked AG- and something else to test the overflow property of the description.and something else to test the overflow property of the description. and something else to test the overflow property of the description.</p>
</div>
</div>
Here is the css:
.search-card {
width: 800px;
background-color: lightgray;
border: 1px solid #888888;
border-radius: 0.25rem;
height: 120px;
}
.search-card-img-left {
padding:20px;
height:80px;
width: 80px;
border:1px solid;
float:left;
}
.search-card-title {
margin: 0.25rem;
border: 1px solid;
text-align:left;
}
.search-card-body {
text-align:left;
display:inline;
}
.search-desc{
text-overflow: ellipsis;
overflow-wrap: break-word;
display:inline;
word-break: keep-all;
}