I have a container with the width: 500px.
In this container there are 2 strings, “iiiiiiiiiiiiiii” and “MMMMMMMMMMMMMMM”. You can clearly see that the “M” string is a lot wider than the “i” string, but both fit in the 500px screen.

If i make the container smaller, lets say 350px the M string is too wide and i want to remove some ‘M’s so it can fit as so:
In React i have the following data:
var i = 'iiiiiiiiiiiiiii'; var M = 'MMMMMMMMMMMMMMM'; var containerWidth = 500;
Based on what information do I shorten the strings?
I started out with if string.length > containerWidth / 10, but thats not right because string-length != width. I can’t use getElementById and then use .offsetWidth
Advertisement
Answer
You can do that with css only:
.container {
width: 350px;
border: 2px solid black;
padding: 20px;
white-space: nowrap;
overflow: hidden;
text-overflow: ellipsis;
}<div class="container"> IIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIII<br> MMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMM </div>
Will result in something like this. Run the snippet for a live demo.
--------------------- | IIIIIIIIIIIIIIIIII| | MMMMMMMMMMMMMMM...| ---------------------
