JSFiddle - React, Tailwind, and code Playground

by Tony Realovich

HTML

<div>try resizing horizontal </div>
<div class="container">
    <div class="row">
        <div class="left" data-text=".pdf">
          <span class="text dots">veryyyyyyyyyyyyyyyyyyyyy_long_file-</span>        
        </div>
    </div>
    
    <div class="row">
        <div class="left" data-text=".pdf">
          <span class="text dots">some-elseeeeeeeeeeeeeee-file-</span>        
        </div>
    </div>
    
    <div class="row">
        <div class="left" data-text="e.pdf">
          <span class="text dots">short_file-</span>        
        </div>
    </div>
</div>

CSS

.container {
    width: 200px;
    border: 1px solid red;
    margin-top: 40px;
    height: 200px;
    padding: 5px;
}
.dots {
    overflow: hidden;
    white-space: nowrap;
    text-overflow: ellipsis;
}
.row {
    border: 1px solid green;
    max-width: 100%;
    height: 18px;
    margin-bottom: 5px;
}
.row .left {
    float: left;
    max-width: 100%;
}
.row .left::before {
    float: right;
    content:attr(data-text)
}
.row span {
    display: block;
}