Учебник по CSS

ГЛАВНАЯ CSS Введение в CSS Синтаксис CSS Селекторы CSS CSS как сделать CSS-комментарии Цвета CSS CSS-фоны CSS границы CSS поля CSS-заполнение CSS высота/ширина Блочная модель CSS Схема CSS CSS-текст CSS-шрифты CSS-иконки CSS-ссылки CSS-списки CSS-таблицы Отображение CSS Максимальная ширина CSS Позиция CSS CSS Z-индекс CSS переполнение Плавающая CSS Встроенный блок CSS Выравнивание CSS Комбинаторы CSS Псевдокласс CSS CSS-псевдоэлемент Непрозрачность CSS Панель навигации CSS Выпадающие списки CSS Галерея изображений CSS Спрайты изображений CSS Селекторы атрибутов CSS CSS-формы CSS-счетчики CSS макет веб-сайта Единицы CSS Специфика CSS CSS! важно Математические функции CSS

CSS расширенный

CSS закругленные углы Изображения границ CSS CSS-фоны Цвета CSS Цветовые ключевые слова CSS CSS-градиенты CSS-тени Текстовые эффекты CSS Веб-шрифты CSS 2D-преобразования CSS CSS 3D-преобразования CSS-переходы CSS-анимации Подсказки CSS Изображения в стиле CSS Отражение изображения CSS CSS объект-подгонка CSS-позиция объекта Маскировка CSS CSS-кнопки Разбивка на страницы CSS Несколько столбцов CSS Пользовательский интерфейс CSS CSS-переменные Размер блока CSS Медиа-запросы CSS Примеры CSS MQ CSS флексбокс

CSS Отзывчивый

Введение в задний привод Окно просмотра RWD Представление сетки RWD Медиа-запросы RWD Изображения RWD Видео с задним приводом Рамки RWD Шаблоны RWD

CSS -сетка

Введение в сетку Контейнер сетки Элемент сетки

CSS SASS

Учебник по SASS

Примеры CSS

CSS-шаблоны Примеры CSS css викторина CSS-упражнения Сертификат CSS

Ссылки на CSS

Справочник по CSS Селекторы CSS CSS-функции Справочник по CSS Безопасные веб-шрифты CSS CSS анимация Единицы CSS Конвертер CSS PX-EM Цвета CSS Значения цвета CSS Значения CSS по умолчанию Поддержка CSS-браузера

CSS -подсказка


Создавайте всплывающие подсказки с помощью CSS.


Демонстрация: примеры подсказок

Подсказка часто используется для указания дополнительной информации о чем-либо, когда пользователь наводит указатель мыши на элемент:

Вверх Текст всплывающей подсказки
Правильно Текст всплывающей подсказки
Нижний Текст всплывающей подсказки
Левый Текст всплывающей подсказки


Основная подсказка

Создайте всплывающую подсказку, которая появляется, когда пользователь наводит указатель мыши на элемент:

Пример

<style>
/* Tooltip container */
.tooltip {
  position: relative;
  display: inline-block;
  border-bottom: 1px dotted black; /* If you want dots under the hoverable text */
}

/* Tooltip text */
.tooltip .tooltiptext {
  visibility: hidden;
  width: 120px;
  background-color: black;
  color: #fff;
  text-align: center;
  padding: 5px 0;
  border-radius: 6px;
 
  /* Position the tooltip text - see examples below! */
  position: absolute;
  z-index: 1;
}

/* Show the tooltip text when you mouse over the tooltip container */
.tooltip:hover .tooltiptext {
  visibility: visible;
}
</style>

<div class="tooltip">Hover over me
  <span class="tooltiptext">Tooltip text</span>
</div>

Объяснение примера

HTML: используйте элемент-контейнер (например, <div>) и добавьте к "tooltip"нему класс. Когда пользователь наведет курсор на этот <div>, он покажет текст всплывающей подсказки.

Текст всплывающей подсказки помещается внутри встроенного элемента (например, <span>) с расширением class="tooltiptext".

CSS: класс tooltipиспользует position:relative, который необходим для позиционирования текста всплывающей подсказки ( position:absolute). Примечание. Ниже приведены примеры размещения всплывающей подсказки.

Класс tooltiptextсодержит фактический текст всплывающей подсказки. По умолчанию он скрыт и будет виден при наведении (см. ниже). Мы также добавили к нему несколько основных стилей: ширина 120 пикселей, черный цвет фона, белый цвет текста, текст по центру и отступы по 5 пикселей сверху и снизу.

Свойство CSS border-radiusиспользуется для добавления закругленных углов к тексту всплывающей подсказки.

Селектор :hoverиспользуется для отображения текста всплывающей подсказки, когда пользователь наводит указатель мыши на <div> с помощью class="tooltip".



Подсказки по позиционированию

В этом примере всплывающая подсказка размещается справа ( left:105%) от «наводимого» текста (<div>). Также обратите внимание, что top:-5pxиспользуется для размещения его в середине элемента-контейнера. Мы используем число 5 , потому что текст всплывающей подсказки имеет верхний и нижний отступы по 5 пикселей. Если вы увеличиваете его отступ, также увеличьте значение topсвойства, чтобы оно оставалось посередине (если вы этого хотите). То же самое применимо, если вы хотите, чтобы всплывающая подсказка располагалась слева.

Правая подсказка

.tooltip .tooltiptext {
  top: -5px;
  left: 105%;
}

Результат:

Hover over me Tooltip text

Левая подсказка

.tooltip .tooltiptext {
  top: -5px;
  right: 105%;
}

Результат:

Hover over me Tooltip text

Если вы хотите, чтобы всплывающая подсказка отображалась сверху или снизу, см. примеры ниже. Обратите внимание, что мы используем margin-leftсвойство со значением минус 60 пикселей. Это нужно для того, чтобы центрировать всплывающую подсказку над/под наводимым текстом. Он равен половине ширины всплывающей подсказки (120/2 = 60).

Верхняя подсказка

.tooltip .tooltiptext {
  width: 120px;
  bottom: 100%;
  left: 50%;
  margin-left: -60px; /* Use half of the width (120/2 = 60), to center the tooltip */
}

Результат:

Hover over me Tooltip text

Нижняя подсказка

.tooltip .tooltiptext {
  width: 120px;
  top: 100%;
  left: 50%;
  margin-left: -60px; /* Use half of the width (120/2 = 60), to center the tooltip */
}

Результат:

Hover over me Tooltip text

Стрелки всплывающей подсказки

Чтобы создать стрелку, которая должна появляться с определенной стороны всплывающей подсказки, добавьте «пустое» содержимое после всплывающей подсказки с классом псевдоэлемента ::afterвместе со content свойством. Сама стрелка создается с помощью границ. Это сделает всплывающую подсказку похожей на речевой пузырь.

В этом примере показано, как добавить стрелку в нижнюю часть всплывающей подсказки:

Нижняя стрелка

.tooltip .tooltiptext::after {
  content: " ";
  position: absolute;
  top: 100%; /* At the bottom of the tooltip */
  left: 50%;
  margin-left: -5px;
  border-width: 5px;
  border-style: solid;
  border-color: black transparent transparent transparent;
}

Результат:

Hover over me Tooltip text

Объяснение примера

Поместите стрелку внутри всплывающей подсказки: top: 100%поместит стрелку в нижнюю часть всплывающей подсказки. left: 50%будет центрировать стрелку.

Примечание . Свойство border-widthопределяет размер стрелки. Если вы измените это, также измените margin-leftзначение на то же самое. Это позволит держать стрелку в центре.

Используется border-colorдля преобразования содержимого в стрелку. Мы устанавливаем верхнюю границу черной, а остальные — прозрачными. Если бы все стороны были черными, у вас получился бы черный квадрат.

В этом примере показано, как добавить стрелку вверху всплывающей подсказки. Обратите внимание, что на этот раз мы установили цвет нижней границы:

Верхняя стрелка

.tooltip .tooltiptext::after {
  content: " ";
  position: absolute;
  bottom: 100%;  /* At the top of the tooltip */
  left: 50%;
  margin-left: -5px;
  border-width: 5px;
  border-style: solid;
  border-color: transparent transparent black transparent;
}

Результат:

Hover over me Tooltip text

В этом примере показано, как добавить стрелку слева от всплывающей подсказки:

Стрелка влево

.tooltip .tooltiptext::after {
  content: " ";
  position: absolute;
  top: 50%;
  right: 100%; /* To the left of the tooltip */
  margin-top: -5px;
  border-width: 5px;
  border-style: solid;
  border-color: transparent black transparent transparent;
}

Результат:

Hover over me Tooltip text

В этом примере показано, как добавить стрелку справа от всплывающей подсказки:

Правая стрелка

.tooltip .tooltiptext::after {
  content: " ";
  position: absolute;
  top: 50%;
  left: 100%; /* To the right of the tooltip */
  margin-top: -5px;
  border-width: 5px;
  border-style: solid;
  border-color: transparent transparent transparent black;
}

Результат:

Hover over me Tooltip text

Исчезновение всплывающих подсказок (анимация)

Если вы хотите, чтобы текст всплывающей подсказки исчезал, когда он вот-вот станет видимым, вы можете использовать transitionсвойство CSS вместе со opacity свойством и перейти от полностью невидимого к 100% видимости за определенное количество секунд (1 секунда в нашем пример):

Пример

.tooltip .tooltiptext {
  opacity: 0;
  transition: opacity 1s;
}

.tooltip:hover .tooltiptext {
  opacity: 1;
}