Сравнить scrollWidth и clientWidth, если они разные то контейнер переполнен, а дальше советую добавить класс в котором вы и сделаете это "налаживание" : )
<div class="text">Много каких-то букв</div>
.text{
width: 100px;
height: 40px;
position: relative;
overflow: hidden;
white-space: nowrap;
}
.overflowed::after {
content: '';
position: absolute;
top: 0;
right: 0;
width: 40px;
height: 100%;
background: linear-gradient(90deg, transparent, #222);
pointer-events: none;
}
const el = document.querySelector('.text');
if (el.scrollWidth !== el.clientWidth) {
el.classList.add('overflowed')
}
p.s. Вижу слово "налаживался" и ловлю микроинфаркт