Добавляет всплывающую подсказку с текстом, которая появляется при наведении курсора на элемент. Вид такой подсказки зависит от браузера, настроек операционной системы и не может быть изменён напрямую с помощью HTML-кода или стилей.
Синтаксис
title="<текст>"
Значения
Произвольная текстовая строка.
Значение по умолчанию
Пример
<!DOCTYPE html>
<html>
<head>
<meta charset=»utf-8″>
<title>Атрибут title</title>
</head>
<body>
<p title=»А вот и я!»>Пример всплывающей подсказки</p>
</body>
</html>
Результат данного примера показан на рис. 1.
Рис. 1. Вид всплывающей подсказки
Спецификация
Спецификация
Статус
WHATWG HTML Living Standard
Живой стандарт
HTML5. 1
Рабочий проект
HTML5
Рекомендация
HTML 4.01 Specification
Рекомендация
Спецификация
Каждая спецификация проходит несколько стадий одобрения.
Recommendation (Рекомендация) — спецификация одобрена W3C и рекомендована как стандарт.
Candidate Recommendation (Возможная рекомендация) — группа, отвечающая за стандарт, удовлетворена, как он соответствует своим целям, но требуется помощь сообщества разработчиков по реализации стандарта.
Proposed Recommendation (Предлагаемая рекомендация) — на этом этапе документ представлен на рассмотрение Консультативного совета W3C для окончательного утверждения.
Working Draft (Рабочий проект) — более зрелая версия черновика после обсуждения и внесения поправок для рассмотрения сообществом.
Editor’s draft (Редакторский черновик) — черновая версия стандарта после внесения правок редакторами проекта.
Draft (Черновик спецификации) — первая черновая версия стандарта.
Особняком стоит живой стандарт HTML (Living) — он не придерживается традиционной нумерации версий, поскольку находится в постоянной разработке и обновляется регулярно.
Браузеры
4
12
1
4
1
1
1
1
6
1
Браузеры
В таблице браузеров применяются следующие обозначения.
— элемент полностью поддерживается браузером;
— элемент браузером не воспринимается и игнорируется;
— при работе возможно появление различных ошибок, либо элемент поддерживается с оговорками.
Число указывает версию браузреа, начиная с которой элемент поддерживается.
Автор и редакторы
Автор: Влад Мержевич
Последнее изменение: 19.03.2018
Редакторы: Влад Мержевич
Создание кастомного title
Кастомный «title» (в простонародье tooltip — «Подсказка»)
Проблема
В мобильной версии сайта не отображался стандартный html-атрибут «title», так как нет реакции на наведение.;
На сайте html-атрибут «title» содержит текст разного размера и ссылки на другие страницы, при этом перейти по ссылкам не представлялось возможным.
Решение
Для элементов на которых должны отображаться подсказки используется тег «span», к которому добавляется data-атрибут, который мы назвали «data-comment». С помощью класса «.js-span-comment» инициализируется работа js-скрипта.
Javascript использует метод innerHTML, благодаря чему мы можем вставлять содержимое атрибута в виде верстки:
Как работает Javascript код:
Пояснения к коду:
Функция самовызывающаяся, сделана в виде модуля. Внутри есть главный метод init(), в котором мы ищем все подсказки на странице. Если мы не находим ни одного, тогда функция завершается;
Если мы находим подсказку, тогда на документ мы вешаем слушателя с событием «click». По клику мы проверяем наличие data-атрибута. Если data-атрибут найден, мы проверяем переменную «flag», если у неё значение «true», тогда мы создаем подсказку. Создается он динамически. Переменная «flag» переключается в «false», чтобы не было создания повторной подсказки;
Также мы вешаем на window событие «scroll», по которому любая открытая подсказка будет удалена из документа;
Есть дополнительное условие, при котором мы проверяем ширину экрана при первичном срабатывании функции. Если ширина > 992 px., тогда на подсказку мы вешаем событие «mouseover» (когда курсор находится над тегом «span», который должен показать подсказку). Таким образом мы эмулируем событие «hover». Исчезает подсказка, только если сначала навести на неё курсор, а потом убрать.
Сделано это ради того, чтобы пользователь мог скопировать содержимое, либо перейти по ссылке, указанной в подсказке.
Как позиционируется подсказка:
Системный тег «title» не зависит от ширины экрана браузера и появляется в том месте, где мы навели курсор.
В нашем случае подсказка — это «span» со своими стилями и требовалось выбрать объект, относительно которого должно быть позиционирование. Можно было привязать так же к курсору, но тогда возникли бы проблемы, когда пользователь мог вызвать подсказку у края экрана (например слева, слишком близко к краю). Поэтому было выбрано позиционирование от начала строки, потому что некоторые блоки, на которые должна быть подсказка, могут быть очень длинными и в зависимости от ширины экрана находится в разных местах.
Как работает позиционирование:
При создании подсказки мы находим координаты нашего блока с подсказкой. После чего, вычисляем координаты относительно окна браузера и позиционирования подсказки с {position:fixed} в CSS-стилях. Координаты находим с помощью метода
getBoundingClientRect(). Координата «left» = это left нашего блока с подсказкой. Координата «top» = это сумма высоты нашего блока + координата «top» + 3 px. (чтобы наша подсказка не закрывала текст).
Результат
Когда требуется дополнительный функционал (см. примеры ниже), можно использовать кастомную подсказку. В остальных случаях лучше обойтись стандартным тегом «title».
На мобильных устройствах появилась возможность отображать подсказки и взаимодействовать с ними:
Появилась возможность копировать текст из подсказок:
Появилась возможность переходить по ссылкам в подсказке:
Можно ли отформатировать всплывающую подсказку HTML (атрибут title)?
спросил
Изменено
4 года, 10 месяцев назад
Просмотрено
207 тысяч раз
Можно ли отформатировать всплывающую подсказку в формате HTML?
У меня есть DIV с атрибутом title=»foo!».
Когда я увеличиваю или уменьшаю размер текста в своем браузере, размер текста всплывающей подсказки остается неизменным. Есть ли способ сделать масштаб шрифта всплывающей подсказки с настройкой браузера?
HTML
всплывающая подсказка
0
Попробуйте использовать коды объектов, например для CR, для LF и для ТАБ.
Например:
Наведи меня
4
Нет. Но есть и другие варианты, такие как Overlib и jQuery, которые дают вам эту свободу.
Лично я бы предложил jQuery в качестве маршрута. Обычно это очень ненавязчиво и не требует дополнительной настройки разметки вашего сайта (за исключением добавления тега скрипта jquery в ваш
).
2
кажется, вы можете использовать css и трюк (без javascript) для этого:
Обычно я бы использовал jQuery для решения такой ситуации. Однако при работе над сайтом для клиента, которому требовалось решение без javascript, я пришел к следующему:
<дел>
<дел>
Контент с
обычное форматирование
Используя следующий CSS, вы получите ту же ситуацию, что и с заголовком:
Это дает вам возможность стилизовать его в соответствии с вашими потребностями, и он работает во всех браузерах. Даже те, где отключен javascript.
Плюсы:
Вы оказываете большое влияние на стиль
Работает (почти) во всех браузерах
Минусы:
Труднее позиционировать всплывающую подсказку
3
Во всплывающей подсказке начальной загрузки просто используйте data-html=»true»
3
Нет, это невозможно, браузеры по-своему реализуют всплывающую подсказку. Все, что вы можете сделать, это создать некоторый div, который ведет себя как всплывающая подсказка HTML (в основном это просто «показывать при наведении») с помощью Javascript, а затем стилизовать его так, как вы хотите.
При этом вам не придется беспокоиться об увеличении или уменьшении масштаба в браузере, поскольку текст внутри блока всплывающей подсказки является фактическим HTML, он будет соответствующим образом масштабироваться.
См. пост Джонатана, где есть хорошие ресурсы.
Не уверен, что это работает со всеми браузерами или сторонними инструментами, но мне удалось просто указать «\n» во всплывающих подсказках для новой строки, работает с dhtmlx по крайней мере в ie11, firefox и chrome
для (ключ var в oPendingData ) {
var obj = oPendingData[ключ];
this.cells(sRowID, nColInd).cell.title += "\n" + obj["ChangeUser"] + ": " + obj[sCol];
}
1
У Mootools также есть хороший класс «Советы», доступный в их «дополнительном конструкторе».
Я знаю, что это старый пост, но я хотел бы добавить свой ответ для дальнейшего использования.
Я использую jQuery и css для стилизации всплывающих подсказок: easy-tooltip-and-image-preview-using-jquery
(для демонстрации: http://cssglobe.com/lab/tooltip/02/)
На моих статических веб-сайтах это отлично сработало. Однако при переходе на WordPress он остановился. Мое решение состояло в том, чтобы изменить теги, такие как и в это: <br> и <диапазон> Это работает для меня.
Подсказки · Bootstrap v5.0
Обзор
Что нужно знать при использовании плагина всплывающих подсказок:
Подсказки полагаются на стороннюю библиотеку Popper для позиционирования. Вы должны включить popper.min.js перед bootstrap.js или использовать bootstrap.bundle.min.js / bootstrap.bundle.js , который содержит Popper, чтобы всплывающие подсказки работали!
Всплывающие подсказки добавляются из соображений производительности, поэтому вы должны инициализировать их самостоятельно .
Подсказки с заголовками нулевой длины никогда не отображаются.
Укажите container: 'body' , чтобы избежать проблем с рендерингом в более сложных компонентах (таких как наши группы ввода, группы кнопок и т. д.).
Не работают всплывающие подсказки для скрытых элементов.
Всплывающие подсказки для .disabled или disabled элементов должны активироваться на элементе-оболочке.
При срабатывании гиперссылок, охватывающих несколько строк, всплывающие подсказки будут располагаться по центру. Используйте пробел : nowrap; на , чтобы избежать такого поведения.
Всплывающие подсказки должны быть скрыты до того, как соответствующие им элементы будут удалены из модели DOM.
Подсказки могут быть активированы благодаря элементу внутри теневого DOM.
По умолчанию этот компонент использует встроенное средство очистки содержимого, которое удаляет любые элементы HTML, которые явно не разрешены. Дополнительные сведения см. в разделе «дезинфицирующее средство» в нашей документации по JavaScript.
Все понял? Отлично, давайте посмотрим, как они работают, на нескольких примерах.
Пример: Включить всплывающие подсказки везде
Один из способов инициализировать все всплывающие подсказки на странице — выбрать их по атрибуту data-bs-toggle :
var tooltipTriggerList = []. slice.call(document.querySelectorAll( '[data-bs-toggle="tooltip"]'))
var tooltipList = tooltipTriggerList.map (функция (tooltipTriggerEl) {
вернуть новый bootstrap.Tooltip(tooltipTriggerEl)
})
Примеры
Наведите указатель мыши на ссылки ниже, чтобы увидеть всплывающие подсказки:
Текст-заполнитель для демонстрации некоторых встроенных ссылок с всплывающими подсказками. Теперь это просто наполнитель, а не убийца. Контент размещен здесь только для того, чтобы имитировать наличие реального текста. И все это только для того, чтобы дать вам представление о том, как будут выглядеть всплывающие подсказки при использовании в реальных ситуациях. Итак, надеюсь, теперь вы увидели, как эти всплывающие подсказки для ссылок могут работать на практике, как только вы используете их на своем собственном сайте или в проекте.
Наведите указатель мыши на кнопки ниже, чтобы увидеть четыре направления всплывающих подсказок: сверху, справа, снизу и слева. Направления отражаются при использовании Bootstrap в RTL.
Подключаемый модуль всплывающих подсказок генерирует содержимое и разметку по запросу и по умолчанию размещает всплывающие подсказки после их триггерного элемента.
Активировать всплывающую подсказку через JavaScript:
var exampleEl = document.getElementById('example')
var tooltip = новый bootstrap.Tooltip(exampleEl, options)
Переполнение
авто и прокрутка
Позиция всплывающей подсказки пытается автоматически измениться, когда родительский контейнер имеет переполнение : авто или переполнение: прокрутка как наш .table4 900 позиционирование размещения. Чтобы решить эту проблему, установите параметр border (для модификатора flip, использующего параметр popperConfig ) на любой HTMLElement, чтобы переопределить значение по умолчанию, 'clippingParents' , например document. body :
var exampleEl = document.getElementById('example')
var tooltip = новый bootstrap.Tooltip (exampleEl, {
граница: document.body // или document.querySelector('#boundary')
})
Разметка
Необходимая разметка для всплывающей подсказки — это только атрибут данных и заголовок HTML-элемента, для которого вы хотите иметь всплывающую подсказку. Генерируемая разметка всплывающей подсказки довольно проста, хотя для нее требуется позиция (по умолчанию установлено значение 9).0023 сверху плагином).
Обеспечение работы всплывающих подсказок для пользователей клавиатуры и вспомогательных технологий
Вы должны добавлять всплывающие подсказки только к элементам HTML, которые традиционно являются интерактивными и ориентированными на клавиатуру (такими как ссылки или элементы управления формы). Хотя произвольные элементы HTML (такие как s) можно сделать фокусируемыми, добавив атрибут tabindex="0" , это добавит потенциально раздражающие и запутанные позиции табуляции для неинтерактивных элементов для пользователей клавиатуры, и большинство вспомогательные технологии в настоящее время не объявляют всплывающую подсказку в этой ситуации. Кроме того, не полагайтесь только на наведите курсор на в качестве триггера для вашей всплывающей подсказки, так как это сделает ваши всплывающие подсказки невозможными для пользователей клавиатуры.
<дел>дел>
<дел>
Какой-то текст всплывающей подсказки!
Отключенные элементы
Элементы с отключенным не являются интерактивными, то есть пользователи не могут сфокусироваться, навести или щелкнуть их, чтобы вызвать всплывающую подсказку (или всплывающее окно). В качестве обходного пути вы захотите вызвать всплывающую подсказку из обертки
или , в идеале с фокусом на клавиатуре, используя tabindex="0" .
Кнопка отключена
Опции
Параметры можно передавать через атрибуты данных или JavaScript. Для атрибутов данных добавьте имя параметра к data-bs-, например data-bs-animation="" . Не забудьте изменить тип регистра имени параметра с camelCase на kebab-case при передаче параметров через атрибуты данных. Например, вместо data-bs-customClass="beautifier" используйте data-bs-custom-class="beautifier" .
Обратите внимание, что из соображений безопасности sanitize 9Параметры 0024 , sanitizeFn и allowList не могут быть предоставлены с использованием атрибутов данных.
Имя
Тип
По умолчанию
Описание
анимация
логическое значение
правда
Применить переход затухания CSS к всплывающей подсказке
контейнер
строка | элемент | ложь
ложный
Добавляет всплывающую подсказку к определенному элементу. Пример: контейнер : 'тело' . Этот параметр особенно удобен тем, что позволяет расположить всплывающую подсказку в потоке документа рядом с инициирующим элементом, что предотвратит всплывающую подсказку от инициирующего элемента во время изменения размера окна.
задержка
номер | объект
0
Задержка отображения и скрытия всплывающей подсказки (мс) — не относится к ручному типу триггера
Если указано число, применяется задержка как для скрытия, так и для отображения
Структура объекта: задержка: { "показать": 500, "скрыть": 100}
HTML
логическое значение
ложный
Разрешить HTML во всплывающей подсказке.
Если задано значение true, теги HTML в заголовке всплывающей подсказки будут отображаться во всплывающей подсказке. Если false, свойство innerText будет использоваться для вставки содержимого в DOM.
Используйте текст, если вы беспокоитесь о XSS-атаках.
размещение
строка | функция
«верхний»
Как расположить всплывающую подсказку - авто | топ | дно | слева | Правильно. : Если указано auto , подсказка динамически переориентируется.
Когда функция используется для определения размещения, она вызывается с узлом DOM всплывающей подсказки в качестве первого аргумента и узлом DOM триггерного элемента в качестве второго. Контекст this установлен на экземпляр всплывающей подсказки.
селектор
строка | ложь
ложный
Если предоставлен селектор, объекты всплывающей подсказки будут делегированы указанным целям. На практике это также используется для применения всплывающих подсказок к динамически добавляемым элементам DOM ( jQuery.on поддержка). См. это и информативный пример.
шаблон
строка
'
'
Базовый HTML для использования при создании всплывающей подсказки.
Заголовок всплывающей подсказки будет вставлен в .tooltip-inner .
.tooltip-стрелка станет стрелкой всплывающей подсказки.
Самый внешний элемент оболочки должен иметь класс .tooltip и role="tooltip" .
Название
строка | элемент | функция
''
Значение заголовка по умолчанию, если атрибут title отсутствует.
Если задана функция, она будет вызываться со своим этим 9Ссылка 0024 установлена на элемент, к которому прикреплена всплывающая подсказка.
триггер
строка
'наведение фокуса'
Как срабатывает всплывающая подсказка - нажмите | парить | фокус | руководство. Вы можете передать несколько триггеров; разделяйте их пробелом.
'manual' указывает, что всплывающая подсказка будет запускаться программно через .show() , .hide() и .toggle() методы; это значение нельзя комбинировать ни с каким другим триггером.
'hover' сам по себе приведет к всплывающим подсказкам, которые нельзя активировать с помощью клавиатуры, и их следует использовать только в том случае, если существуют альтернативные методы передачи той же информации для пользователей клавиатуры.
запасные места размещения
массив
['верхний', 'правый', 'нижний', 'левый']
Определите резервные места размещения, предоставив список мест размещения в виде массива (в порядке предпочтения). Для получения дополнительной информации см.
Документы о поведении Поппера
граница
строка | элемент
'отсечение родителей'
Граница ограничения переполнения всплывающей подсказки (применяется только к модификатору предотвращения переполнения Поппера). По умолчанию это 'clippingParents' и может принимать ссылку HTMLElement (только через JavaScript). Для получения дополнительной информации обратитесь к документации Поппера по обнаружению переполнения.
пользовательский класс
строка | функция
''
Добавлять классы во всплывающую подсказку, когда она отображается. Обратите внимание, что эти классы будут добавлены в дополнение к любым классам, указанным в шаблоне. Чтобы добавить несколько классов, разделите их пробелами: 'класс-1 класс-2' .
Вы также можете передать функцию, которая должна возвращать одну строку, содержащую дополнительные имена классов.
дезинфекция
логическое значение
правда
Включить или отключить очистку. При активации «шаблон» и «заголовок» параметры будут очищены. См. раздел дезинфицирующего средства в нашей документации по JavaScript.
список разрешений
объект
Значение по умолчанию
Объект, содержащий разрешенные атрибуты и теги
санитарная обработкаFn
ноль | функция
ноль
Здесь вы можете указать свою собственную функцию дезинфекции. Это может быть полезно, если вы предпочитаете использовать выделенную библиотеку для выполнения очистки.
смещение
массив
| строка | функция
[0, 0]
Смещение всплывающей подсказки относительно цели. Вы можете передать строку в атрибутах данных со значениями, разделенными запятыми, например: data-bs-offset="10,20"
Когда функция используется для определения смещения, она вызывается с объектом, содержащим размещение поппера, ссылку и прямоугольники поппера в качестве первого аргумента. Узел триггерного элемента DOM передается в качестве второго аргумента. Функция должна вернуть массив из двух чисел: [занос, дистанция] .
Для получения дополнительной информации обратитесь к документам по смещению Поппера.
попперконфиг
ноль | объект | функция
ноль
Чтобы изменить конфигурацию Popper по умолчанию в Bootstrap, см. Конфигурация Popper.
Когда функция используется для создания конфигурации Popper, она вызывается с объектом, который содержит конфигурацию Bootstrap по умолчанию Popper. Это поможет вам использовать и объединить настройки по умолчанию с вашей собственной конфигурацией. Функция должна возвращать объект конфигурации для Popper.
Использование функции с
popperConfig
var tooltip = new bootstrap.Tooltip(element, {
popperConfig: функция (defaultBsPopperConfig) {
// var newPopperConfig = {...}
// при необходимости используем defaultBsPopperConfig...
// возвращаем newPopperConfig
}
})
Методы
Асинхронные методы и переходы
Все методы API являются асинхронными и запускают переход . Они возвращаются к вызывающей стороне, как только переход начинается, но до окончания . Кроме того, вызов метода для переходного компонента будет игнорироваться .
Дополнительные сведения см. в нашей документации по JavaScript.
show
Показывает всплывающую подсказку элемента. Возвращает вызывающему объекту до фактического отображения всплывающей подсказки (т. е. до возникновения события visible.bs.tooltip ). Это считается «ручным» срабатыванием всплывающей подсказки. Подсказки с заголовками нулевой длины никогда не отображаются.
всплывающая подсказка.показать()
hide
Скрывает всплывающую подсказку элемента. Возвращает вызывающему объекту до того, как всплывающая подсказка будет фактически скрыта (т. е. до того, как произойдет событие hidden.bs.tooltip ). Это считается «ручным» срабатыванием всплывающей подсказки.
всплывающая подсказка.скрыть()
toggle
Переключает всплывающую подсказку элемента. Возвращает вызывающему объекту до того, как всплывающая подсказка действительно была показана или скрыта (т. 0024 или hidden.bs.tooltip событие). Это считается «ручным» срабатыванием всплывающей подсказки.
всплывающая подсказка.toggle()
dispose
Скрывает и уничтожает всплывающую подсказку элемента (удаляет сохраненные данные в элементе DOM). Всплывающие подсказки, использующие делегирование (которые создаются с помощью параметра селектора ), не могут быть уничтожены по отдельности в элементах-триггерах-потомках.
всплывающая подсказка.dispose()
enable
Позволяет отображать всплывающую подсказку элемента. Подсказки включены по умолчанию.
всплывающая подсказка.включить()
отключить
Удаляет возможность отображения всплывающей подсказки элемента. Всплывающая подсказка будет отображаться только в том случае, если она снова включена.
всплывающая подсказка.отключить()
toggleEnabled
Переключает возможность отображения или скрытия всплывающей подсказки элемента.
всплывающая подсказка.toggleEnabled()
update
Обновляет положение всплывающей подсказки элемента.
всплывающая подсказка.обновление()
getInstance
Статический метод , позволяющий получить экземпляр всплывающей подсказки, связанный с элементом DOM
var exampleTriggerEl = document.getElementById('example')
var tooltip = bootstrap.Tooltip.getInstance(exampleTriggerEl) // Возвращает экземпляр всплывающей подсказки Bootstrap
getOrCreateInstance
Статический метод , который позволяет вам получить экземпляр всплывающей подсказки, связанный с элементом DOM, или создать новый, если он не был инициализирован