I faced the same issue and it seems like none of the solution above works for Safari. For non-safari browser, this works just fine:
display: block; /* or in-line block according to your requirement */ overflow: hidden; white-space: nowrap; text-overflow: ellipsis;
For Safari, this is the one that works for me. Note that the media query to check if the browser is Safari might change over time, so just tinker with the media query if it doesn't work for you. With line-clamp property, it would also be possible to have multiple lines in the web with ellipsis, see here.
// Media-query for Safari-only browser. @media not all and (min-resolution: 0.001dpcm) { @media { -webkit-line-clamp: 1; -webkit-box-orient: vertical; display: -webkit-box; white-space: normal; } }