Разное

Css всплывающая подсказка при наведении: Всплывающая подсказка на CSS | htmlbook.ru

16.06.2021

Содержание

Как сделать всплывающую подсказку на css

Привет, друзья, сегодня хочу поделиться тем, как сделать интересную всплывающую подсказку при помощи чистого css без применения javascript. Сразу хочу сказать, что в примерах мы будем применять псевдоэлементы «::before и ::after». Если вы не знаете,что это такое, вы можете прочитать статью «Таинственные псевдоэлементы в css before и after. Отличие от псевдоклассов«, которую я писал ранее. Для того, чтобы у нас получилась некая логика в подсказках, нам необходимо сделать пункты меню, например, в изображениях или иконках, чтобы пользователь хотел навести на пункт меню, чтобы узнать что он (пункт меню) означает, увидев подсказку. Как использовать иконки в меню можно узнать в статье «Как быстро вставить иконку на сайт с помощью html».

Итак, для начала нам нужна HTML разметка:

<div>
<ul>
 <li><a href="#">\260E</a></li> 
 <li><a href="#">\2710</a></li>
 <li><a href="#">\262D</a></li>
</ul>
</div>

Символы \260E, \2710, \262D генерируют иконки меню

Далее работаем с css. Здесь нам понадобится псевдоэлемент ::after или ::before. Мы можем использовать любой из них так, как для отображение всплывающих подсказок будет использоваться абсолютное позиционирование. Вообще наша задача заключается в том, чтобы изначально скрыть псевдоэлемент, который генерирует саму подсказку, а при наведении на иконку, т.е. на ссылку, эта подсказка отобразится.

В принципе, мы можем применять любые стили на всплывающих подсказках. Всё будет зависеть от вашей фантазии. Еще один пример, который я хотел бы вам показать, это всплывающая подсказка с применением анимации в CSS. Как работать с анимацией, вы можете узнать в статье: Анимация при наведении на блок css

На этом, пожалуй, закончим. Если у вас есть вопросы, задавайте в комментариях. Если вам понравилась статья, ставьте LIKE, особо благодарен за репост.

как создавать и использовать всплывающие подсказки лайк э босс

Создавая новый продукт, разработчики стремятся к настолько интуитивному пользовательскому интерфейсу, чтобы юзеры вообще не нуждались в какой-либо помощи.

И в идеальном мире им это удается.

А вот в мире реальном, когда люди взаимодействуют с продуктом впервые, им зачастую нужны дополнительные указания и сопровождение. Да и новые функции иногда требуют разъяснений даже для опытных пользователей.

Именно здесь в игру вступают подсказки (или тултипы), которые ненавязчиво ведут сквозь продукт, не нарушая пользовательский опыт. В этом посте мы расскажем, как использовать всплывающие подсказки для эффективного онбординга и достичь в этом совершенства.

Содержание статьи

Что такое тултипы?

Примеры всплывающих подсказок

Когда следует использовать подсказки?

Онбординг
Обновления и напоминания
Редко используемые функции

Как создать всплывающие подсказки?

1. Создание всплывающих подсказок с использованием JavaScript
2. Создание всплывающих подсказок с использованием CSS + HTML
3. Создание всплывающих подсказок без кодинга с помощью Experrto

7 принципов хороших тултипов

1. Полагайтесь на подсказки только когда это нужно
2. Не привязывайте подсказки к часто используемым функциям насовсем
3. Делайте подсказки содержательными, информативными и нацеленными на действия
4. Позвольте легко пропускать и закрывать подсказки
5. Предлагайте по одной подсказке за раз
6. Выбирайте заметное, но разумное место размещения
7. Сделайте подсказки частью более широкой стратегии освоения продукта

Вместо заключения

Что такое тултипы?

Тултип (tooltip), или подсказка — это элемент графического интерфейса, служащий средством обучения пользователя и объясняющий какой-то элемент веб-страницы, просматриваемой пользователем. 

Примеры всплывающих подсказок

Некоторые UX-специалисты считают, что подсказки должны запускаться только людьми — например, при наведении курсора или клике на знак вопроса, «i» или подобные иконки, как в примере ниже:

Эта всплывающая подсказка в Facebook появляется, когда курсор мыши наводят на символ «i» в разделе «Показатель отклика». Подсказка содержит совет по улучшению показателя, а также содержит ссылку на более подробную справку.

Тем не менее, под словом тултип все чаще подразумеваются подсказки, которые запускаются другими событиями помимо наведения курсора или клика, такими как авторизация пользователя в аккаунте после релиза новой функции или во время онбординг-процесса.

Возьмем этот пример из Gmail, которые используют серию всплывающих подсказок, появляющихся, когда пользователи впервые заходят в почту после внедрения новой функции Google Meet:

В некотором смысле триггером здесь выступает сам пользователь, просто зашедший проверить свой почтовый ящик после обновления. Но вместо того чтобы просить его совершить осознанное действие, система сама запускает онбординг новой функции.

Как управлять внедрением новых функций с помощью in-app сообщений

Когда следует использовать подсказки?

Хотя определить все потенциальные сценарии использования подсказок невозможно, мы можем взглянуть на некоторые примеры их эффективного внедрения.

Онбординг

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

Возьмем облачное хранилище Мега в качестве примера. Интерфейс в этом приложении достаточно интуитивный и полагается на знакомые символы и жесты. Но впервые оказавшись на панели управления, вы можете и не знать, с чего начать работу с продуктом: 

Здесь всплывающая подсказка является полезным и легким способом онбординга пользователя, впервые вошедшего в систему после регистрации.

Обновления и напоминания

Использовать тултипы также полезно, когда подписчиков нужно оповестить о новых функциях или напомнить им о возможностях, которые могут улучшить их опыт, но упускаются ими из виду (например, доступных только на платном тарифе).

Показывая пользователям подсказку о важной функции, как только те входят в систему, вы приближаете их к осознанию ценности продукта, а значит повышаете оплаты. Вместе с тем подобные сообщения могут напоминать людям о каких-либо «фишках», которые они долго игнорировали, по истечению четко обозначенного времени.

Редко используемые функции

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

Примером этого является Photoshop, программа для редактирования изображений. С таким типом софта можно проделать столько всего, что иногда люди попросту забывают, что делает конкретная кнопка или что значит какой-то значок. Именно здесь можно задействовать всплывающие подсказки с описаниями, которые появляются при наведении пользователем курсора мыши на область вокруг иконки или кнопки.

Интерактивные подсказки: как вывести онбординг на новый уровень

Как создать всплывающие подсказки?

Существует 3 наиболее распространенных способа добавить тултипы на сайт или в приложение, и ниже они перечислены от самого сложного к самому удобному: 

1. Создание всплывающих подсказок с использованием JavaScript

Если вы разработчик или в вашей команде есть разработчик со свободным временем, JavaScript вполне может оказаться тем, что вам нужно. 

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

2. Создание всплывающих подсказок с использованием CSS + HTML

Использование CSS + HTML для разработки тултипов отличается от создания подсказок на JavaScript лишь тем, что здесь процесс немного упрощается.

Вам по-прежнему понадобится разработчик и довольно много времени для создания, поддержки и обновления тултипов.

3. Создание всплывающих подсказок без кодинга с помощью Experrto

Если вы не разбираетесь в программировании или просто не можете тратить свое драгоценное время на разработку нескольких подсказок, присмотритесь к нашей платформе Experrto. Это плагин для браузера, с помощью которого можно создавать всплывающие подсказки и настраивать онбординг пользователей без каких-либо специальных знаний.

20 топовых open source плагинов для всплывающих подсказок

7 принципов хороших тултипов

Для чего бы вы ни использовали всплывающие подсказки, существует 7 общих принципов, которых нужно придерживаться, чтобы извлечь из тултипов максимум пользы. 

1. Полагайтесь на подсказки только когда это нужно

Слишком частое появление тултипов на экране раздражает пользователей.

Возьмем в пример YouTube. Это достаточно интуитивно понятная платформа, поэтому большинство ее новых пользователей в состоянии разобраться в интерфейсе самостоятельно. Поэтому если всплывающие подсказки будут появляться каждый раз, когда они задевают область вокруг иконки пользователя, комментария или отправки (каждая из которых в значительной степени говорит сама за себя), это будет отвлекать их от контента и портить общее впечатление о продукте.

2. Не привязывайте подсказки к часто используемым функциям насовсем

С помощью тултипов пользователей можно ознакомить с новыми важными функциями, которые понадобятся им для дальнейшей эффективной работы с продуктом. 

Но когда подписчики уже понимают, для чего нужна та или иная кнопка, им не нужно ничего подсказывать. Никому не хочется видеть сообщение «введите адрес электронной почты» каждый раз, когда они наводят курсор мыши на область «кому» в своем почтовом клиенте.

Довольно навязчивые подсказки от Яндекс.Почты с предложением попробовать новый редактор писем

С точки зрения онбординга пользователей большинство подсказок должны быть временными. Привязывать тултипы перманентно стоит только к редко используемому функционалу. 

3. Делайте подсказки содержательными, информативными и нацеленными на действия

Суть тултипов заключается в том, чтобы быстро подсказывать и направлять пользователя.

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

Текст всплывающей подсказки должен быть кратким, конкретным, информативным и нацеленным на действия, сообщая пользователям, что им нужно делать и какие возможности доступны. Помимо этого, людям также можно рассказать, какую пользу может принести рассматриваемая ими функция.

К примеру, тултип, привязанный к функции «тег», может информировать пользователей о том, где и как применяются теги, и о том, что тегирование позволит им быстрее находить и группировать фотографии. Таким образом подписчикам не только говорят, какие действия они могут предпринять, но и дают повод сделать это.

4. Позвольте легко пропускать и закрывать подсказки

Каждый пользователь уникален и нуждается в разном уровне помощи.

Кто-то предпочитает штудировать справку, в то время как кому-то нравится открывать для себя новые вещи по ходу работы. Именно поэтому всплывающие подсказки могут быть полезны пользователям в разной степени. Некоторые люди захотят усвоить всю информацию, указанную в тултипе, тогда как другие поспешат закрыть подсказку и продолжить самостоятельное изучение.

Учитывая потребности этой второй категории пользователей, ваши подсказки должны легко пропускаться или закрываться. Хотя перманентные тултипы, скорее всего, будут исчезать, когда пользователь перемещает или щелкает мышью, онбординг-подсказки часто отображаются в виде всплывающих окон, что дает человеку больше времени для прочтения и «переваривания» текста. Эти советы необходимо снабдить кнопкой «пропустить», «ясно» или «готово», которая позволит пользователям двигаться дальше.

6 столпов онбординга: о чем рассказал анализ 1000 SaaS-продуктов

5. Предлагайте по одной подсказке за раз

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

Но на самом деле этот подход ошибочен.

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

6. Выбирайте заметное, но разумное место размещения

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

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

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

7. Сделайте подсказки частью более широкой стратегии освоения продукта

Подсказки никогда не должны разрабатываться в отрыве от всего остального — вместо этого вам нужно воспринимать их как часть общей стратегии по освоению вашего продукта. 

К обучению работе с продуктом относится почти все, что вы делаете, чтобы превратить новичков в активных пользователей вашего сервиса. Это повышение осведомленности и маркетинг, продажи и конверсия, регистрация и онбординг, удержание и апселлинг, а также расширение и кросс-сейл.

Используемые вами подсказки должны вписываться в эту экосистему. Скажем, если вы даете людям видеоуроки по своему продукту, эту информацию можно дополнить тултипами. Для этого вам нужно убедиться, что язык и рекомендации, приведенные в видео и подсказках, совпадают.

Аналогично, если вы решите отправить пользователям email о новой функции, а затем дополнить их всплывающими подсказками, согласованности языка тоже стоит уделить внимание.

9 лучших методик апселлинга для SaaS-компаний с помощью подсказок

Вместо заключения

Подсказки негативно воспринимаются некоторыми UX-специалистами, потому что зачастую они реализуются в корне неверно. Мы же считаем, что при должном исполнении тултипы представляют собой мощный инструмент, который помогает пользователям извлечь максимальную пользу из продукта.

Независимо от того, применяете вы их для онбординга, обновлений, напоминаний или редко используемых функций, всплывающие подсказки работают лучше всего, когда они коротки, информативны, правильно размещены и легко сочетаются с другими методами обучения пользователей.

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

Прокачайте свой онбординг!

По материалам: userguiding.com Изображение: freepik.com

Делаем всплывающие подсказки — пример на JavaScript + HTML

Статью будет интересно прочитать как новичкам в работе с JavaScript, так и более или менее продвинутым в этом вопросе людям. Ее цель — ознакомление читателя с принципом работы JavaScript-подсказки. В конце статьи есть краткое описание всех объектов, событий и свойств, используемых в скрипте.

В начале ознакомления с HTML создается впечатление, что в нем всего достаточно, а где-то есть даже что-то лишнее. Но по мере накопления знаний и опыта начинают возникать вопросы, ответов на которые в учебниках нет. Один из таких вопросов звучит примерно так: «а как бы украсить всплывающую подсказку?».

Иногда возникают такие ситуации, что без всплывающей подсказки никак не обойтись, а стандартные alt и title не вписываются в дизайн сайта. Как раз в таких ситуациях спасают подсказки, написанные на JavaScript.

Итак, как реализуется такая подсказка?

Для на чала необходимо понять, что такое JavaScript-подсказка. А это всего навсего блок html-кода, который двигается за курсором мыши средствами JavaScript. Один из вариантов организации такого блока — использование тега <div>. Например:

<div></div>

Параметр visibility установлен в hidden, т.к. изначально подсказка должна быть скрыта. Ширина этого блока 400 пикселей, а высота меняется в зависимости от содержимого и не меньше 10 пикселей. Также для визуального отделения подсказки от основного содержимого она обрамлена черной рамкой толщиной 1 пиксель.

Теперь нужно заставить подсказку появляться при наведении мыши на что-либо. Для примера она будет появляться и исчезать над картинкой:

<img src="ej.jpg">

То есть при наведении мыши на картинку будет вызвана функция movePic() со строковым параметром — текстом подсказки, — которая отобразит div-блок рядом с указателем мыши, а при удалении — hidePic(), которая спрячет его обратно.

Далее следует скрипт появления и скрытия подсказки. Спрятать намного проще, чем отобразить, поэтому сначала

hidePic():
function hidePic(){
//если чуть-чуть порыться в памяти или поднять глаза вверх, то можно понять, что myalt - имя блока.
myalt.style.visibility="hidden";//передача параметру visibility значения hidden, блок становится невидим
myalt.innerHTML="";//очищение содежимого блока
myalt.style.top=0;

myalt.style.left=0;//отправка блока в верхний левый угол экрана
}
//Теперь пришло время movePic():
function movePic(word){
myalt.innerHTML=word;//отправка в подсказку строки
myalt.style.left=window.event.clientX+5;
myalt.style.top=window.event.clientY+5;//блок находится на 5 пикселей правее и ниже курсора мыши
myalt.style.visibility="visible";//блок становится видимым
}

Этот вариант уже работает, но у него есть недостки:

  • если документ прокручивающийся (как это обычно и бывает), то корректно подсказка будет работать только в верхрем положении экрана, так как clientX и clientY возвращают лишь относительные координаты мышки.
  • если объект, над которым всплывает подсказка, расположен ближе к правому краю окна, то она вылезет за края экрана и страничка растянется.
  • аналогично с нижним краем.

Теперь пора исправлять недоделки. На самом деле все вышеперечисленные недостатки решаются очень легко:

  • достаточно определить высоту прокрученной части документа
  • проводится проверка на положение курсора относительно правого края.
  • аналогично с нижним краем.

function movePic(word){
myalt.innerHTML=word;
_x=window.event.clientX;
_y=window.event.clientY;//сохранение координат курсора мыши в переменные
_dx=5;//смещение подскаки вправо и влево относительно координат мыши
//Определение, помещается ли подсказка между курсором и краями экрана

left=false;right=false;
if(_dx+_x+myalt.clientWidth>document.body.clientWidth){_x=document.body.clientWidth-myalt.clientWidth-_dx;left=true;}
if(_dx+_y+myalt.clientHeight>document.body.clientHeight){_y=document.body.clientHeight-myalt.clientHeight-_dx;right=true;}
//если объект в нижнем правом углу, подсказка всплывает над курсором
if(left&&right)_y=document.body.clientHeight-myalt.clientHeight-_dx*4;
//помещение подсказки в найденные коородинаты
myalt.style.left=_x;
myalt.style.top=_y+document.body.scrollTop;//смещение подскази в зависимости от высоты прокрученной части документа
myalt.style.visibility="visible";
}

Обычно делают подсказку, двигающуюся за курсором мыши. Достигается это следующим образом. Во-первых функцию нужно вызывать не onmouseover, а onmousemove, и во-вторых, строка, передаваемая в функцию movePic(), должна отправляться в тело подсказки только один раз (иначе могут возникнуть разного рода блики и прочее, особенно если в подсказке будет картинка). Ниже следует целиком код документа.

<html>
<head>
<title>стрипт всплывающей подсказки</title>
<script>
var hide=true;//глобальная переменная, отвечающая будет ли строка передана в подсказку
function movePic(word){
_x=window.event.clientX;

_y=window.event.clientY;
_dx=5
left=false;right=false;
if(_dx+_x+myalt.clientWidth>document.body.clientWidth){_x=document.body.clientWidth-myalt.clientWidth-_dx;left=true;}
if(_dx+_y+myalt.clientHeight>document.body.clientHeight){_y=document.body.clientHeight-myalt.clientHeight-_dx;right=true;}
if(left&&right)_y=document.body.clientHeight-myalt.clientHeight-_dx*4;
myalt.style.left=_x;
myalt.style.top=_y+document.body.scrollTop;
if(hide){
myalt.innerHTML=word;
myalt.style.visibility="visible";
hide=false;
}
}
function hidePic(){
myalt.style.visibility="hidden";
myalt.innerHTML="";
myalt.style.top=0;
myalt.style.left=0;
hide=true;
}
</script>
<head>
<body>
<div></div>
<img src="ej.jpg" onmousemove="movePic('Это ёж. Что он делает в лесу?.. Да он и сам этого не знает!')">
</body>
</html>

Справка:

window— объект, окно браузера;
window.event — объект, информация о событиях;
document— объект, веб-страница;
document.body — объект, тело веб-страницы;
style— объект, доступ к стилям объекта;
clientX, clientY — read-only свойства event, координаты мыши относительно рабочей области браузера;
innerHTML— read/write свойство, возвращает/устанавливает html-код между тегами объекта;

clientWidth, clientHeight — readn-only свойства, возвращают реальные ширину и высоту объекта соответственно;
scrollTop— read/write свойство, возвращает/устанавливает высоту прокрученной части объекта;
onmouseout— событие, происходящее при наведение курсора мыши над объектом;
onmousemove— событие, происходящее при движении курсора мыши над объектом;
onmouseout— событие, происодящее в момент убирания курсора мыши с объекта.

Автор статьи: Фролов Станислав.

Как сделать всплывающие подсказки на HTML и CSS3 при наведении

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

Подсказки позволяют заинтересовать пользователя, а также сократить используемую область на сайте, тем самым достаточно ёмко и элегантно оформить всю необходимую информацию. Такой вариант идеально подходит к продающей странице, где необходимо максимально точно и кратко представить информацию пользователю.

К тому же, всплывающие подсказки могут быть незаменимым вариантом в крупном проекте, в котором усложнена навигация по сайту. Именно подсказки помогут решить эту проблему: к примеру, пользователь может навести на фразу или элемент сайта, а ему будет выведена краткое её обозначение. Удобно, не правда ли?

Я представляю вам очень удобный и функциональный пример, который реализован только на чистом HTML и CSS3, что несомненно является большим плюсом и гарантирует беспроблемную установку на  проект любой сложности. К тому же, в нём используются современные SVG-иконки, о которых я уже писал в статье про Dashicons в WordPress.

Стоит отметить, что всплывающие подсказки в данном примере являются адаптивными (как и сами примеры), что сокращает ваше потраченное время. Именно поэтому я считаю этот вариант самым оптимальным и удобным для всех нас.

 

Как установить всплывающие подсказки

Как я уже говорил — установка не составит труда, так как никаких «танцев с бубном» здесь не будет.
ПРИМЕР СКАЧАТЬ

 

Давайте рассмотрим все тонкости установки всплывающих подсказок на примере «Растянутая». Для начала разберемся с HTML-документом, а именно с блоком <head>:

<head> <meta name=»viewport» content=»width=device-width, initial-scale=1″> <link rel=»stylesheet» type=»text/css» href=»css/normalize.css» /> <link rel=»stylesheet» type=»text/css» href=»css/demo.css» /> <link rel=»stylesheet» href=»fonts/font-awesome-4.2.0/css/font-awesome.min.css»> <link rel=»stylesheet» type=»text/css» href=»css/tooltip-bloated.css» /> </head>

<head>

<meta name=»viewport» content=»width=device-width, initial-scale=1″>

<link rel=»stylesheet» type=»text/css» href=»css/normalize.css» />

<link rel=»stylesheet» type=»text/css» href=»css/demo.css» />

<link rel=»stylesheet» href=»fonts/font-awesome-4.2.0/css/font-awesome.min.css»>

<link rel=»stylesheet» type=»text/css» href=»css/tooltip-bloated.css» />

</head>

Строка 2 — уже привычный нам мета-тег для корректного отображения на Iphone. Если не знаешь что это — читай мою статью про медиа-запросы.

Строка 3-4 — подключаем необходимые стили. demo необходим для нашего демо.

Строка 5 — подключаем файл стилей для шрифта наших примеров. Точнее он необходим для корректного отображения наших SVG-иконок.

Строка 6 — подключаем таблицу стилей конкретно к нашему примеру («Растянутая»).

Собственно, всё что нам необходимо — мы подключили. Остаётся дело за малым — разобраться со структурой нашего <body>:

<body> <div> <div> <span><a title=»На сайт» target=»_blank» href=»http://www.drogin.ru»><span>Вернуться на сайт</span></a></span> </div> <div> <header> <h2>Оформление подсказок</h2> <nav> <a href=»index.html»>Классик</a> <a href=»round.html»>Круг</a> <a href=»curved.html»>Изогнутая</a> <a href=»sharp.html»>Острая</a> <a href=»bloated.html»>Растянутая</a> <a href=»box.html»>Блок</a> <a href=»comic.html»>Забавная</a> <a href=»line.html»>Линия</a> <a href=»flip.html»>Разворот</a> </nav> </header> <div> <ul> <li><a href=»#»><i></i><span>Автомобиль</span></a></li> <li><a href=»#»><i></i><span>Велосипед</span></a></li> <li><a href=»#»><i></i><span>Пассажирский самолет</a></li> <li><a href=»#»><i></i><span>Автобус</span></a></li> <li><a href=»#»><i></i><span>Истребитель</span></a></li> </ul> </div> </div> </div> </body>

1

2

3

4

5

6

7

8

9

10

11

12

13

14

15

16

17

18

19

20

21

22

23

24

25

26

27

28

29

30

31

32

<body>

<div>

<div>

<span><a title=»На сайт» target=»_blank» href=»http://www.drogin.ru»><span>Вернуться на сайт</span></a></span>

</div>

<div>

<header>

<h2>Оформление подсказок</h2>

<nav>

<a href=»index.html»>Классик</a>

<a href=»round.html»>Круг</a>

<a href=»curved.html»>Изогнутая</a>

<a href=»sharp.html»>Острая</a>

<a href=»bloated.html»>Растянутая</a>

<a href=»box.html»>Блок</a>

<a href=»comic.html»>Забавная</a>

<a href=»line.html»>Линия</a>

<a href=»flip.html»>Разворот</a>

</nav>

</header>

<div>

<ul>

<li><a href=»#»><i></i><span>Автомобиль</span></a></li>

<li><a href=»#»><i></i><span>Велосипед</span></a></li>

<li><a href=»#»><i></i><span>Пассажирский самолет</a></li>

<li><a href=»#»><i></i><span>Автобус</span></a></li>

<li><a href=»#»><i></i><span>Истребитель</span></a></li>

</ul>

</div>

</div>

</div>

</body>

Всё, что находится до 20 строки — нас не должно волновать, так как в том блоке находится навигация и прочие элементы, которые необходимы для удобного пользования демо. Нам интересно всё, что находится в блоке с классом dummy.

Не стоит удалять какой-либо из классов в примере, так как это приведёт к неминуемой ошибки. Если вам необходимо как либо изменить стиль любого из элементов, не прибегая к редактированию подключенных нами ранее библиотек — следует дописать свой класс или идентификатор. Как вы уже заметили, структура подсказки незамысловатая — всё реализована с помощью тегов списка ul и li. Не нужно изменять её, так как ни к чему хорошему это не приведёт.

Единственное, что следует редактировать:

<span>Автобус</span>

<span>Автобус</span>

Данный фрагмент кода я изъял из нашего списка <li>. Именно данный фрагмент отвечает за вывод текста нашей подсказки. Вместо «Автобус» можно написать то, что вам необходимо — и готово! Аналогично изменяем и элементы списка <li> — вот вам и готовая качественная всплывающая подсказка без единого скрипта.

 

Вывод

Таким образом, мы получили отличный вариант всплывающих подсказок, реализованных только на HTML и CSS3. Хотелось бы отметить, что мы рассмотрели лишь 1 вариант оформления подсказок, а в демо их целых 9! Ассортимент самых разных подсказок придет по вкусу каждому веб-мастеру и не останется без внимания ваших пользователей.

Процесс установки и редактирования всплывающей подсказки не займет более 10 минут, но взамен мы получаем:

  • повышение поведенческого фактора;
  • ёмкое оформление;
  • возможность повышения конверсии.

Это незаменимый вариант для продающей страницы, так как сочетает в себе все самые лучшие черты, которые характерны качественным проектам, способные работать по своему назначению лучше других аналогов.

 

 


Вконтакте

Facebook

Twitter

Google+

E-mail

Это интересно

Подписаться на новости

Заметки дизайнера » Простой тултип или всплывающая подсказка

Простой тултип или всплывающая подсказка

Довольно часто применяю этот простой прием, но еще о нем не рассказывал. Суть — при наведении мыши на определнный текст появляется краткое пояснение или расширенная информация рядом с текстом. Вот пример (и пример для оперы — оговорка одна — тултипы не должны перекрывать другие “тултипные” ссылки).

HTML

Так как :hover пока в ИЕ к сожалению поддерживается только для элемента a(ссылок) то вынужденный код — такой:

<a class=”tt” href=”#”> Текст ссылки<br />
<span>Пояснение к ссылке </span><br />
</a>

Класс tt просто говорит о том что спан внутри таких ссылок будет отображаться по наведению мышки. Без CSS данная конструкция выглядит вполне логично. К тому же можно вспомнить о поисковой оптимизации и использовать вот этот прием.

CSS

Дело за малым — заставить это все работать.
Вот такое простое CSS волшебство заставит тултип тултипиться:

a.tt span{<br />
display:none;/*собственно прячем тултип - пока мышь не наведена*/<br />
}<br />
a.tt:hover{<br />
position:relative;/*Ставим точку отсчета для тултипа внутрь данной ссылки*/<br />
z-index:23;/*это нужно что бы тултип показывался поверх этой и других ссылок*/<br />
}<br />
a.tt:hover span{<br />
display:block;/*показываем тултип при наведении*/<br />
position:absolute;<br />
top:-10px;<br />
left:40px;/*три строки для позиции тултипа относительно левого верхнего угла ссылки*/<br />
z-index:22;/*мне 22 + см. выше*/<br />
background:#fafafa;/*фон, что бы было видно тултип*/<br />
}

Вот собственно и все. Остальное украшательсво. Рабочий пример минимально приукрашенный.

Конец

Вот такой до боли простой приемчик, нередко довольно эффектно выглядящий.
Конечно ему не тягаться с тултипами гоняющимися за курсором мыши. Но и им по простоте с ним не тягаться.

Добавить в:

Css Дизайнер (designer)

34 CSS-всплывающих подсказок

Коллекция HTML и CSS-всплывающих подсказок примеров кода: анимированных, со стрелками, с эффектами наведения и т. Д. Обновление коллекции за апрель 2020 года. 4 новых примера.

Автор
  • Микаэль Айналем
О коде

Всплывающая подсказка

Пример всплывающей подсказки.Демонстрация с использованием нескольких различных методов CSS. Линейная анимация SVG, несколько фильтров: падающая тень, ослабление материала пользовательского интерфейса,…

Совместимые браузеры: Chrome, Edge, Firefox, Opera, Safari

Адаптивный: нет

Зависимости: —

О коде

Подсказка градиента 1 элемента на чистом CSS

Совместимые браузеры: Chrome, Edge, Firefox, Opera, Safari

Адаптивный: нет

Зависимости: —

Автор
  • Джемма Стайлз
О коде

Элемент abbr

Элемент HTML abbr представляет собой аббревиатуру или акроним; необязательный атрибут title может предоставить расширение или описание сокращения.Если присутствует, заголовок должен содержать это полное описание и ничего больше. Мы можем использовать CSS, чтобы стилизовать его и сделать его немного лучше. Этот текст часто отображается браузерами как всплывающая подсказка при наведении курсора мыши на элемент.

Совместимые браузеры: Chrome, Edge, Firefox, Opera, Safari

отзывчивый: да

Зависимости: —

Автор
  • Джек Домлео
О коде

Cooltipz.css — крутые всплывающие подсказки на чистом CSS

Библиотека всплывающих подсказок на чистом CSS, легкая, современная, доступная, настраиваемая и простая в использовании.

Совместимые браузеры: Chrome, Edge, Firefox, Opera, Safari

отзывчивый: да

Зависимости: cooltipz.css

Автор
  • Милан Раринг
О коде

Анимация всплывающей подсказки

Простая анимация всплывающих подсказок в HTML и CSS.

Совместимые браузеры: Chrome, Edge, Firefox, Opera, Safari

Адаптивный: нет

Зависимости: —

Автор
  • окава-ч
Сделано с
  • HTML (мопс) / CSS (стилус)
О коде

Только всплывающая подсказка CSS

Совместимые браузеры: Chrome, Edge, Firefox, Opera, Safari

отзывчивый: да

Зависимости: —

Автор
  • Владимир
О коде

Адаптивные подсказки

HTML и CSS адаптивных всплывающих подсказок.

Совместимые браузеры: Chrome, Edge, Firefox, Opera, Safari

отзывчивый: да

Зависимости: —

Автор
  • Р. Шнетцингер
О коде

Необычная и анимированная всплывающая подсказка — только CSS

Просто всплывающая подсказка с блестящей / современной начальной анимацией.Простота использования: только настраиваемый атрибут data-tooltip должен быть добавлен к соответствующему элементу. Элементы, которые не могут содержать другие элементы, например input , не могут использовать всплывающую подсказку. Простым решением было бы обернуть элемент в div , а затем прикрепить всплывающую подсказку к div .

Совместимые браузеры: Chrome, Edge, Firefox, Opera, Safari

Адаптивный: нет

Зависимости: —

Автор
  • Андрей Шарапов
О коде

Идея подсказки

Маленькие игривые идеи подсказок.

Совместимые браузеры: Chrome, Edge, Firefox, Opera, Safari

отзывчивый: да

Зависимости: font-awesome.css

О коде

Подсказка

Подсказка по лазерной линии на чистом CSS.

Совместимые браузеры: Chrome, Edge, Firefox, Opera, Safari

Адаптивный: нет

Зависимости: —

Автор
  • Марк Вите
О коде

Всплывающая подсказка

Только простой CSS всплывающая подсказка .

Автор
  • Виталий
О коде

Подсказка на чистом CSS

Подсказка на чистом CSS с полной тенью вокруг.

Автор
  • Hicham Mellouki
  • 30 августа 2017 г.
О коде

Подсказка

Всплывающая подсказка CSS с нарастающей анимацией.

Автор
  • Леандро Фиало
  • 25 июля 2017 г.
О коде

Подсказка Использовать только CSS

Простая всплывающая подсказка с HTML и CSS.

О коде

Подсказка CSS

Всплывающая подсказка CSS с плавной анимацией.

Автор
  • elhombretecla
  • 16 марта 2017 г.
О коде

Подсказки

Хорошие всплывающие подсказки сверху, снизу, слева и справа с чистым CSS.

Демо-изображение: Friendly Little Tooltips

Friendly Little Tooltips

Дружественные подсказки с анимацией.
Сделано Джошуа Уордом
7 марта 2017 г.

Демонстрационное изображение: Анимированная всплывающая подсказка CSS

Анимированная всплывающая подсказка CSS

Анимированная всплывающая подсказка HTML и CSS.
Сделал Саша
1 марта 2017 г.

Демо-изображение: Tooltiper

Tooltiper

Это всплывающая подсказка. Он работает с атрибутом данных. Просто оберните свой элемент в любой класс всплывающей подсказки ширины элемента html и добавьте свой контент в атрибут data-tooltip.
Сделано Томасом Подгродски
4 февраля 2017 г.

Демо-изображение: всплывающие подсказки

Всплывающие подсказки

Всплывающие подсказки только для CSS.
Сделано Сэмюэлем Джейнсом
27 ноября 2016 г.

Демо-изображение: кнопка с подсказкой

Кнопка с подсказкой

Кнопка HTML и CSS с всплывающей подсказкой.
Сделано Фабрицио Кускини
1 сентября 2016 г.

Сделано с
  • HTML / Pug
  • CSS / SCSS
  • JavaScript
О коде

Всплывающие подсказки по автоматизации с простыми атрибутами данных

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

Демо-изображение: Easy Tooltips

Easy Tooltips

Простые всплывающие подсказки с Sass.
Сделано Матеусом Коста
15 марта 2016 г.

Демо-изображение: воспроизведение всплывающей подсказки Google Keep

Воспроизведение всплывающей подсказки Google Keep

Всплывающие подсказки с круглым откосом. На основе всплывающих подсказок Google Keep.
Сделано Кайл Лавери
5 марта 2016 г.

Демонстрационное изображение: всплывающие подсказки на чистом CSS

Подсказки на чистом CSS

всплывающих подсказок HTML и CSS.
Сделано Матиасом Мартином
17 февраля 2016 г.

Демонстрационное изображение: подсказка на чистом CSS

Подсказка на чистом CSS

Простая всплывающая подсказка только для CSS.
Сделано Мэттом Ствартаком
3 февраля 2016 г.

Демо-изображение: Tooltip Pagination

Tooltip Pagination

Просто экспериментирую 🙂
Сделано Джо Ричардсоном
24 июля 2015 г.

Демо-изображение: динамический текст всплывающей подсказки с CSS

Динамический текст всплывающей подсказки с CSS

Передать текст всплывающей подсказки с псевдоклассами и содержимым: »; CSS свойство. Изменения текста будут переходить в состояние кнопки.
Сделано Джули Хорват
6 июля 2015 г.

Демо-изображение: Tooltip

Tooltip

Простая всплывающая подсказка с фильтром падающей тени.
Сделано Джеймсом Мехиа
16 июня 2015 г.

О коде

Подсказки на чистом CSS

Классические всплывающие подсказки, обрабатываемые только HTML и CSS. Использование атрибута data- для хранения нашего подсказочного сообщения и псевдоэлементов для отображения этого сообщения.

Демонстрационное изображение: всплывающая подсказка только для CSS

Всплывающая подсказка только для CSS

Базовый пример всплывающей подсказки на чистом CSS. Контент загружается из атрибута данных в самом теге привязки. Хорошо, если вам нужно простое решение для всплывающих подсказок.
Сделано Робертом Дугласом
19 ноября 2014 г.

Демо-изображение: всплывающая подсказка только для CSS

Всплывающая подсказка только для CSS

Простая всплывающая подсказка, которая использует атрибут data- * и псевдоэлементы для отображения текста при наведении курсора.
Автор Кристина Шнайдер
4 марта 2014 г.

Демонстрационное изображение: простые всплывающие подсказки CSS3

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

Очень простые всплывающие подсказки с использованием компонента CSS3.
Изготовлен Фирдаусом Сабаином
30 декабря 2013 г.

Демо-изображение: Tooltip

Tooltip

Хорошая подсказка.
Сделано г-жой Манипенни
17 апреля 2013 г.

Пошаговое руководство по созданию всплывающих подсказок на чистом CSS

, автор Youssouf El Azizi

Недавно я изучил короткое руководство по созданию простых всплывающих подсказок с использованием чистого CSS (без дополнительных элементов HTML или JavaScript). Позже я использовал эту технику в своем собственном проекте и придумал некоторые приемы, чтобы улучшить ее.

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

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

Проблема

Мне нужно было создать настраиваемую всплывающую подсказку для моего проекта.

Я начал с поиска в Google «CSS Tooltip Generator». Я нашел довольно много генераторов. Их подход заключался в добавлении диапазона с абсолютной позицией внутри элемента, для которого требуется всплывающая подсказка.

Но у меня уже был полностью законченный проект. Я не хотел возвращаться и добавлять все эти элементы span в свой проект.Это займет время и усложнит мой HTML. Должен был быть способ получше.

Наконец-то я нашла на YouTube замечательное руководство по всплывающим подсказкам. Умный трюк, который он использовал, заключался в создании всплывающей подсказки с использованием CSS-селекторов :: before и :: after . Вы можете посмотреть видео здесь.

Этот трюк был умным и чистым, но недостаточно универсальным.

Улучшение решения

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

    

Не только это, но мы хотим иметь возможность легко указывать положение всплывающей подсказки:

    

Сначала, как упоминалось в видео, мы добавим к кнопке псевдоэлементы перед и после .

:: after и :: before — это псевдоэлементы, которые позволяют вставлять содержимое на страницу из CSS до или после содержимого элемента. Они работают так:

  div :: after {content: «after»;} div :: before {content: «before»;}  

Результат выглядит примерно так:

  
before < ! - содержимое div здесь -> после

Давайте рассмотрим этот шаг за шагом

Шаг 1: мы добавим атрибут всплывающей подсказки следующим образом:

    

Нам нужны псевдоэлементы :: after и :: before .Это будет простой прямоугольник с содержимым всплывающей подсказки. Мы создаем простой прямоугольник с помощью CSS, добавляя границу вокруг пустого элемента, который мы создаем с помощью свойства content .

Псевдоэлемент :: before используется для отображения содержимого всплывающей подсказки. Мы добавляем его с помощью свойства content и извлекаем значение атрибута всплывающей подсказки. Значением содержимого может быть строка, значение атрибута элемента, как в нашем примере, или даже изображение с URL-адресом (путь / изображение.png) .

Чтобы это работало, положение элемента кнопки должно быть относительным. Другими словами, положение всех элементов внутри кнопки зависит от положения самого элемента кнопки.

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

Вот наш CSS:

Шаг 2: мы просто играем с псевдоэлементами :: before и :: after , чтобы создать позицию всплывающей подсказки.HTML-код нашей кнопки будет выглядеть так:

    

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

шаг 3 : на этом последнем шаге мы добавим простую анимацию наведения во всплывающую подсказку.

Этот CodePen показывает конечный результат (и вы можете щелкнуть по нему, чтобы увидеть окончательный код):

Если вы знакомы с React, проверьте Мой пост:

Знакомство с reactjs-popup? — Модальные окна, всплывающие подсказки и меню — Все в одном
T Его статья дает вам простой обзор того, что вы можете делать с помощью reactjs-popup и как его эффективно использовать.h ackernoon.com

Спасибо за чтение! Если вы считаете, что это следует прочитать другим людям, нажмите? кнопку, твитнуть и поделиться публикацией. Не забудьте подписаться на меня на Medium, чтобы получать уведомления о моих будущих публикациях.

Прочитайте больше историй https://elazizi.com/

Создание всплывающих подсказок для изображений с помощью CSS

Введение

Каскадные таблицы стилей (CSS) используются в веб-разработке для форматирования текста веб-страниц, компоновки веб-страниц и улучшения гиперссылок.Каскадные таблицы стилей также можно использовать для создания более динамичных эффектов, таких как всплывающие подсказки, всплывающие текстовые сообщения, которые появляются при наведении курсора на элемент HTML.

Всплывающие подсказки можно создать с помощью атрибута HTML title , но получившаяся всплывающая подсказка остается видимой всего несколько секунд и не может быть отформатирована. Всплывающие подсказки также можно создавать с помощью JavaScript и CSS, но для этого требуются глубокие знания JavaScript. В этой статье я демонстрирую, как использовать CSS для создания всплывающих подсказок, которые появляются при наведении курсора на изображение веб-страницы.

Техника

Наведите указатель мыши на изображение ниже. Всплывающее окно создано с использованием только каскадных таблиц стилей.

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



В приведенном выше коде HTML изображение вложено в тег

и в тег . Поскольку мы используем тег только для этого эффекта, а не рабочую гиперссылку, для атрибута href устанавливается фиктивное значение «#».Сам тег критически важен по причинам, описанным ниже. Также обратите внимание, что тег вложен в теги
и . Текст в теге — это текст, который будет отображаться во всплывающей подсказке.

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


div.photo-container {
max-width: 25em;
высота: авто;
позиция: относительная;
маржа: 1.563em auto;
}

div.photo-container a {
текстовое оформление: нет;
цвет: черный;
курсор: по умолчанию;
font-weight: normal;
}

div.photo-container a span {
видимость: скрыта;
позиция: абсолютная;
осталось: 15em;
верх: -2,3 эм;
фон: # ffff6b;
ширина: 17em;
граница: сплошная 1px # 404040;
font-size: 0.8em;
отступ: 0,3 м;
курсор: по умолчанию;
line-height: 1.4;
}

div.photo-container a: hover span {
visibility: visible;
}

В приведенном выше блоке кода CSS 5 классов. Первый класс, div.photo-container , устанавливает определения для содержащего элемента

. Второй класс, div.photo-container a , устанавливает определения для элемента , содержащегося в элементе
. Обратите внимание, что для свойства text-decoration установлено значение none в этом классе.Это потому, что мы не хотим, чтобы вокруг изображения появлялась синяя рамка или чтобы сам текст был подчеркнут синим цветом. Двигаясь дальше, третий класс — это div.photo-container a span , и он устанавливает определения для элемента . Как упоминалось выше, элемент содержит текст, который появляется во всплывающей подсказке. Важными свойствами и значениями этого элемента являются visibility: hidden , который сохраняет элемент скрытым, и position: absolute , который позиционирует элемент. div.photo-container a: hover span class — это основа кода для этого эффекта. Обратите внимание, что для свойства видимости установлено значение visible — когда курсор мыши перемещается по изображению, срабатывает код этого класса и делает видимым скрытый диапазон, создавая всплывающую подсказку. В этом отношении a: hover работает как событие наведения курсора мыши в JavaScript. Пока курсор мыши остается над изображением, всплывающая подсказка остается видимой. Пятый и последний класс, див.photo-container img устанавливает размеры изображения.

Проблемы

Поскольку этот эффект зависит от помещения элемента изображения в тег , будет создана гиперссылка HTML. Если пользователь нажимает на изображение, страница переходит в верхнюю часть экрана браузера. Ничего нельзя сделать, чтобы предотвратить это, но CSS можно использовать для удаления большинства сигналов, которые могут заставить пользователя щелкнуть изображение в первую очередь. Обратите внимание, что в приведенном выше примере блока кода CSS для свойства text-decoration установлено значение none , для свойства color установлено значение black , а для свойства cursor установлено значение по умолчанию . .Этот код удаляет большинство обычных сигналов, которые могли бы идентифицировать изображение как гиперссылку на пользователя. Единственная подсказка, которую код CSS не удаляет (и не может удалить), — это URL-адрес, который отображается в строке состояния браузера. Однако получить доступ к строке состояния браузера и управлять ею с помощью JavaScript довольно просто, и можно добавить фрагмент кода JavaScript, который скрывает URL-адрес в строке состояния при наведении курсора на изображение.

Другая проблема — совместимость с браузером. Я тестировал этот код в Opera 9.64, Firefox 3.5.2 и Internet Explorer 8 на ПК, и Safari 1.3.2 и Opera 9.64 на Mac, и он отлично работает. В теории любой браузер, который понимает каскадные таблицы стилей уровня 2.1, должен иметь возможность правильно отображать этот код, но могут быть исключения. Если у вас возникнут проблемы с этим кодом, свяжитесь со мной, Робертом Д. Хьюзом, и дайте мне знать.

Long Hover | CSS-уловки

На днях у меня был очень неприятный момент CSS.

Я работал над кодом интерфейса для дизайна с узкой боковой панелью иконок.Там недостаточно места для отображения текста значков, поэтому идея состоит в том, что мы будем использовать доступный (но визуально скрытый по умолчанию) текст, который уже присутствует в качестве всплывающей подсказки при длительном наведении курсора. . » То есть устройство с курсором, и курсор наведен на элемент некоторое время, например, три секунды.

Итак, я подумал вот так…

  1. Я могу использовать состояние : всплывающая подсказка либо видна , либо не видна . Я буду управлять состоянием, которое будет отображаться в DOM как имя класса в элементе HTML.
  2. Затем я займусь логикой для изменения этого состояния.
  3. Состояние по умолчанию будет не видно , но если мышь находится внутри элемента более трех секунд, я переключу состояние на видимый .
  4. Если мышь когда-либо покидает элемент, состояние останется (или станет) невидимым .

Это был проект React, поэтому состояние было всего на уме . В итоге получилось так:

Не так уж и плохо, правда? Эх.Управление состоянием в JavaScript потенциально открывает некоторые двери, но в данном случае это было полным излишеством. Помимо того факта, что я считаю mouseenter и mouseleave немного привередливыми, CSS мог бы сделать все и с меньшим количеством кода.

Это неловкая часть … зачем мне тянуться по цепочке к библиотеке JavaScript, чтобы сделать это, если CSS, который я уже пишу, может справиться с этим?

Я оставлю UI в React, но уберу все элементы управления состоянием .Все, что я сделаю, это добавлю transition-delay: 3s , когда . Icon будет : hover , так что ноль секунд, когда , а не , зависает, а затем исчезает сразу после того, как курсор мыши покидает курсор).

Долгое наведение — это однострочный код CSS:

  .thing {
  переход: 0,2 с;
}
.thing: hover {
  задержка перехода: 3 с; / * задержка анимации наведения только ВКЛ, а не ВЫКЛ * /
}  

Отлично работает.

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

Balloon.css — всплывающие подсказки CSS для элементов HTML


Позиционирование

Для позиционирования используйте атрибут data-balloon-pos с одним из значений:

вверх , вниз , влево , вправо , вверх-влево , вверх-вправо , вниз-влево или вниз-вправо .

    

Наведи меня!

    

Наведи меня!

    

Наведи меня!

    

Наведи меня!

    

Наведи меня!

    

Наведи меня!

    

Наведи меня!

    

Наведи меня!


Длина

По умолчанию всплывающие подсказки всегда остаются однострочными, независимо от их длины.Вы можете изменить это поведение, используя атрибут data-balloon-length с одним из значений: small , medium , large или fit .

    

Я небольшая подсказка

    

Я всплывающая подсказка среднего размера.

    

Я большая подсказка

    

Я всплывающая подсказка Xlarge

    

Моя ширина будет соответствовать элементу


Отключение анимации

Если по какой-то причине вам не нужна анимация во всплывающих подсказках, вы можете использовать для этого атрибут data-balloon-blunt .

    

Никакой анимации!


Отображение всплывающих подсказок программно

Если вы хотите отображать всплывающие подсказки, даже когда взаимодействие с пользователем не происходит, вы можете просто использовать атрибут data-balloon-visible :

    

Всегда на виду!

Атрибут data-balloon-visible может быть легко добавлен с помощью JavaScript (например,грамм. .setAttribute () ), позволяя отображать всплывающие подсказки всякий раз, когда это необходимо.


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

Balloon.css предоставляет три переменные CSS, чтобы упростить настройку всплывающих подсказок: --balloon-color , --balloon-font-size и --balloon-move . Таким образом, вы можете использовать собственный CSS для создания собственных стилей всплывающих подсказок:

  / * Добавьте это в свой CSS * /
.tooltip-red {
  - цвет воздушного шара: красный;
}

.tooltip-big-text {
  - размер шрифта-шарика: 20 пикселей;
}

.tooltip-slide {
  --balloon-move: 30 пикселей;
}  
    

Я красный!

    

У меня большой текст!

    

Я много двигаюсь!

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

  / * Все всплывающие подсказки теперь будут синими * /
:корень {
  - цвет воздушного шара: синий;
}  

Глифы и шрифты со значками

Вы также можете добавить любой специальный символ HTML к своим всплывающим подсказкам или даже использовать сторонние шрифты Icon:

    

Наведи меня!

    

Наведи меня!

    

Наведи меня!

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


не будут отображать всплывающие подсказки.

Также имейте в виду, что если псевдоэлементы уже используются в элементе, всплывающая подсказка будет конфликтовать с ними, что приведет к потенциальным ошибкам.

подсказок CSS — javatpoint

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


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

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

См. Этот пример:

Наведите указатель мыши на текст ниже:

Наведите надо мной Это текст всплывающей подсказки

Проверить это сейчас

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

  • Верх элемента
  • Левая сторона элемента
  • Правая сторона элемента
  • Низ элемента

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

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

См. Этот пример:

Пример верхней подсказки

Наведите курсор мыши на заголовок ниже

Добро пожаловать в JavaTpoint Решение всех технологий.

Проверить это сейчас

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

Нижняя всплывающая подсказка указывает, что если вы наведете курсор мыши на элемент, информация всплывающей подсказки будет отображаться в нижней части элемента.

См. Этот пример:

Пример нижней подсказки

Наведите курсор мыши на заголовок ниже

Добро пожаловать в JavaTpoint Решение всех технологий.

Проверить это сейчас

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

Левая всплывающая подсказка указывает, что если вы наведете курсор мыши на элемент, информация всплывающей подсказки будет отображаться в левой части элемента.

См. Этот пример:

Пример левой подсказки

Наведите курсор мыши на заголовок ниже

Добро пожаловать в JavaTpoint Решение всех технологий.

Проверить это сейчас

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

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

См. Этот пример:

Пример правой подсказки

Наведите курсор мыши на заголовок ниже

Добро пожаловать в JavaTpoint Решение всех технологий.

Проверить это сейчас

Создание простого компонента всплывающей подсказки, который никогда не выходит за пределы экрана | Винсент Наветат | carwow Продукт, дизайн и проектирование

Фото Дрю Тейлор

Как интерфейсный разработчик, я видел множество UI-библиотек для всплывающих подсказок и всплывающих окон, но я никогда не чувствовал себя удовлетворенным ни одной из них.Может быть сложно заставить всплывающие подсказки соответствовать адаптивному дизайну с таким маленьким пространством на небольших окнах просмотра. Библиотеки, которые я пробовал до сих пор, либо не справляются с обработкой крайних случаев, либо требуют тяжелой работы в JavaScript для динамического позиционирования вспомогательного элемента. Вместо этого я решил создать веб-компонент с нуля, чтобы удовлетворить свои потребности простым подходом.

Если вы просто хотите увидеть демонстрацию и код, сразу переходите к CodePen. 💅

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

Структура HTML очень проста, всплывающая подсказка включает в себя 2 элемента контейнера для метки и раскрывающегося списка. Это позволит им обоим содержать богатый контент, а не просто текст.

Моя первоначальная идея — максимально использовать преимущества CSS. Мы можем легко создать всплывающую подсказку для экранов рабочего стола, используя псевдокласс : hover . Недостатком этого подхода является то, что нам нужно другое поведение на сенсорных экранах, где пользователи ожидают, что смогут закрыть всплывающую подсказку, нажав ярлык во второй раз или нажав в любом месте экрана.

Обработка событий CSS hover на сенсорных экранах может быть сложной задачей, поскольку браузеры интерпретируют их по-разному. Чтобы упростить задачу, я решил использовать мультимедийную функцию CSS, чтобы только устройства, поддерживающие наведенные элементы, обрабатывали всплывающие подсказки при открытии / закрытии через CSS. Другие устройства вместо этого будут полагаться на JS и события касания. Если вам действительно нужна поддержка устаревших браузеров, таких как Internet Explorer, не пугайтесь отсутствия поддержки функции мультимедиа, вы можете использовать Browserhacks, чтобы специально настроить таргетинг на определенные браузеры, на которые полагается ваша аудитория.

CSS, необходимый для этого подхода, минимален. Идея состоит в том, чтобы установить контейнер с position: relative , в то время как раскрывающийся список имеет position: absolute , и мы можем использовать комбинацию left: 50% и transform: translateX (-50%) , чтобы иметь всплывающая подсказка в центре метки по горизонтали.

Чтобы открыть всплывающую подсказку, мы используем класс с модификатором (после БЭМ) всплывающая подсказка - открыть . Это переключает свойство display раскрывающегося списка на block и запускает CSS-анимацию для быстрого эффекта плавного появления.

С точки зрения JavaScript, использование веб-компонентов позволяет нам использовать синтаксис класса из ES6, который улучшает читаемость кода. Мы можем использовать connectedCallback для настройки прослушивателей событий, когда настраиваемый элемент подключен к DOM. Затем мы можем переключить всплывающую подсказку - открыть класс для родительского элемента в событиях touchstart .

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

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

Это обычно плохо заканчивается тем, что всплывающие подсказки уходят с экрана и обрезается контент, что вызывает разочарование у пользователей. Существуют умные решения для управления динамическим позиционированием, чтобы элементы всегда оставались видимыми на экранах, например Popper.js. Однако ~ 6 КБ уменьшенного и сжатого с помощью сжатия кода JavaScript — это довольно много, чтобы просто разместить небольшой блок текста на экране. Учитывая стоимость использования МБ JS для пользователей в наши дни, я бы предпочел более легкий подход.

Чтобы найти простое решение, я сократил все, что мне было нужно, до самого простого варианта. Если раскрывающийся список выходит из нижней части метки, а не из любого положения (слева, справа, вверху слева и т. Д.), Это означает, что раскрывающийся список может переполняться только с горизонтальных сторон. Чтобы предотвратить переполнение, мне нужно только проверить открытое событие, чтобы позиция элемента не превышала левый и правый пределы экрана.В этой ситуации простой перевод элемента с помощью CSS , преобразование вернет позицию обратно в экран.

В ситуации, когда метка размещается в левом или правом конце экрана, раскрывающееся меню всплывающей подсказки будет зафиксировано сбоку от сетки веб-сайта. Единственная оставшаяся ситуация, когда всплывающая подсказка может выйти за пределы экрана, — это если элемент находится внизу страницы, когда пользователь нажимает на него. Пользователи по-прежнему могут настраивать его, прокручивая страницу вниз, чтобы можно было просматривать содержимое.Я не ожидаю, что эта ситуация будет достаточно проблематичной, чтобы ввести больше кода JS для ее программного решения.

Веб-компоненты были отличным кандидатом для создания всплывающих подсказок из-за простоты их использования как части систем проектирования. Возможность использовать шаблон пользовательского интерфейса просто путем добавления настраиваемого HTML-элемента на страницу и не беспокоиться о вызове любого JS-кода вручную — это довольно удобно.

Более сильным аргументом в пользу веб-компонентов было то, как они взаимодействуют с виртуальной DOM. В carwow мы используем Elm, когда нам нужно управление состоянием в частях веб-сайта с высокой интерактивностью на стороне клиента.Обратной стороной встроенного приложения, использующего виртуальную модель DOM на веб-странице, является то, что у него нет прямого доступа к объекту Window . В этом контексте может быть непросто сделать всплывающую подсказку, реагирующую на область просмотра браузера. В случае приложения Elm мы могли бы справиться с этим с помощью портов.

К счастью, мы нашли альтернативное решение с использованием пользовательских элементов внутри Elm, которое позволяет ассоциированному JS работать так, как ожидалось.

Добавить комментарий

Ваш адрес email не будет опубликован. Обязательные поля помечены *