@Gedonist

Можно ли на чистом CSS показывать tooltip, только если текст не умещается в блоке?

Для текста в блоке установлены стили:
white-space: nowrap;
    overflow: hidden;
    text-overflow: ellipsis;
    max-width: 350px;

Также сделан тултип на чистом CSS, в котором показывается полный текст, когда наводишь на блок.
А можно ли сделать так, чтобы тултип появлялся, только если текст не уместился?
Если строка полностью уместилась в блоке, то при наведении ничего не появляется, если страка обрезалась и появилось троеточие, то при наведении появляется тултип.

Есть ли какие-то эвенты, по которым можно понять что текст не уместился и показалось троеточие?
  • Вопрос задан
  • 480 просмотров
Решения вопроса 1
scoffs
@scoffs
Frontend | C# | Student
На чистом CSS нет, тут можно сделать с помощью JS

const block = document.getElementById('your-block-id'); // Замените 'your-block-id' на актуальный идентификатор вашего блока

if (block.scrollWidth > block.offsetWidth) {
  // Текст обрезается и появляется троеточие
  // В этом случае вы можете добавить обработчик события наведения мыши, чтобы показать тултип
  block.addEventListener('mouseenter', showTooltip);
  block.addEventListener('mouseleave', hideTooltip);
} else {
  // Текст полностью умещается в блоке
  // В этом случае вы можете удалить обработчики событий или не отображать тултип вообще
  block.removeEventListener('mouseenter', showTooltip);
  block.removeEventListener('mouseleave', hideTooltip);
}

function showTooltip() {
  // Код для показа тултипа
}

function hideTooltip() {
  // Код для скрытия тултипа
}
Ответ написан
Комментировать
Пригласить эксперта
Ответы на вопрос 1
georgi1984
@georgi1984
Нравится JavaScript
Проверять размер внутреннего тега, если он больше внешнего то показывать tooltip
Ответ написан
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Войти через центр авторизации
Похожие вопросы