Задача: сверстать адаптивную всплывающую подсказку при наведении на текст или элемент. Понадобятся знания HTML, CSS и JS.
Подсказку можно сделать и без использования сторонних библиотек, но тогда будут сложности с адаптивностью. Она может скрываться за краями экрана, если элемент на который будем наводить курсор окажется близко к краю экрана.
По этой причине будем использовать Tippy.js — это легко настраиваемая библиотека всплывающих подсказок на базе Popper.js.
Подключим библиотеку, для этого вставляем скрипт перед закрывающим тегом <body>. Скрипт должен располагаться перед собственными скриптами.
Подключаем Tippy.js на страницу
Простой пример с текстом
Рассмотрим сначала простейший пример, когда нам не нужна специфичная разметка внутри подсказки, а нужен только текст.
Подготовим HTML код подсказок, которые будем показывать.
Подсказки с текстом
Для инициализации подсказки вызовем функцию tippy() с CSS селектором, который соответствует этим элементам.
Инициализируем Tippy
А также передадим в настройки: тему, которую настроим с помощью CSS, расположение и др.
Настраиваем Tippy
Настраиваем тему Tippy
Добавим другие css стили для подсказки.
Стилизуем всплывающую подсказку Tippy
Получится что-то типа такого:
Пример с вставкой HTML кода в подсказку
Теперь рассмотрим пример с вставкой html кода внутрь всплывающей подсказки. Настроим Tippy следующим образом.
Настраиваем Tippy
Html разметка теперь будет отличаться. У нас появилась разметка подсказок, которые будут подставляться в tooltip, эту разметку нужно скрыть с помощью CSS.
Разметка
Пример можно посмотреть на CodePen:
С помощью Tippy.js можно создавать и гибко настраивать всплывающие подсказки для любых задач. Подробнее можно ознакомиться в официальной документации.
Вы можете кинуть мне донат на кофe, если нашли что-то полезное для себя на этом сайте. Спасибо 🙏