Tooltip на чистом CSS с помощью after и before

Здравствуйте дорогие друзья! На связи Шевченко Вячеслав и в этом уроке мы создадим tooltip на чистом CSS. Для тех кто попал на эту статью случайно, и не знает что такое tooltip, скажу пару слов.

Tooltip — это хороший инструмент который дает возможность предоставить дополнительную информацию и подсказки на страницах сайта для пользователей. Существует множество способов создать подсказку и большинство из них используют JS. Так же существуют JavaScript плагины для создания тултипов, например tooltip.js плагин предоставляет возможность настраивать подсказки через опции, такие как позиция, анимация, тип и т.д.
Способ который мы будем использовать в уроке будет реализован с помощью стилизации псевдо элементов after и before, и дата атрибута (data-tool). Дата атрибут будет содержать текcт нашей подсказки. Давайте приступим к практике. Вы можете посмотреть видео урок, или продолжить чтение статьи, ниже я приведу код и краткое описание.

Видео урок

Видео урок

Я создал обычную страницу html, и подключил стили. Файл style.css и tooltip.css. В style.css я описал стили для демо страницы в файле tooltip.css будем описывать стили подсказки.

<!DOCTYPE html>
<html>
<head>
	<title>Tooltips с помощью CSS</title>
	<meta name="vieport" content="width=device=width, initial-scale=1">
	<link rel="stylesheet" type="text/css" href="css/style.css">
	<link rel="stylesheet" type="text/css" href="css/tooltip.css">
</head>
<body>
	<div class="wrap">
		<div><img src="img/fox-site.png"></div>
		<h1>Webupblog.ru</h1>
		<h2>Tooltips на чистом CSS</h2>
		<p>There are many variations of <span class="tool" data-tool="Ipsum available, but the majority" tabindex="1">passages</span> of Lorem Ipsum available, but the majority have suffered alteration in some form, by injected humour, or <span class="tool" data-tool="anything embarrassing hidden " tabindex="2">randomised</span> words which don't look even slightly believable. If you are going to use a passage of Lorem Ipsum, you need to be sure there isn't anything embarrassing hidden in the middle of text</p>
	</div>
</body>
</html>

На странице я создал div в нем p и span теги которые будут подсказками. Давайте добавим тегу span класс tool. Теперь еще добавим дата атрибут, data-tip, в него мы напишем текст нашей подсказки. И еще один штрих это tabindex=’1′ атрибут с его помощью мы сможем переключаться между подсказками нажимая клавишу таб. Это очень удобная функция. Все с html мы закончили давайте перейдем к css. Первое что мы сделаем это опишем класс tool добавим свойства cursor: pointer, и position: relative.

.tool {
	cursor: help;
	position: relative;
}

.tool::before,
.tool::after {
	left: 50%;
	opacity: 0;
	position: absolute;
	z-index: -100;
}

.tool:hover::before,
.tool:focus::before,
.tool:hover::after,
.tool:focus::after {
	opacity: 1;
	z-index: 100;
}
.tool::before {
	border-style: solid;
	border-width: 1em 0.75em 0 0.75em;
	border-color: #3e474f transparent transparent transparent;
	bottom: 100%;
	content: "";
	margin-left: -0.5em;
	top: -2em;
	transition: opacity 3s ease, top 1s ease;
}
.tool:hover::before,
.tool:focus::before {
	top: -1em;
}

.tool::after {
	background: #3e474f;
	border-radius: 0.25em;
	bottom: 178%;
	color: #edeff0;
	content: attr(data-tool);
	margin-left: -8.75em;
	padding: 1em;
	width: 17.5em;
	transition: opacity 0.6s ease;
}

Вот и все, что бы создать tooltip на css требуется совсем немного кода. Если вам понравился урок, поделитесь им в социальных сетях. Подписывайтесь на наш канал и группу в вк. Ссылки в сайдбаре) До встречи в новых статьях. Пока!

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

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

You may use these HTML tags and attributes: <a href="" title=""> <abbr title=""> <acronym title=""> <b> <blockquote cite=""> <cite> <code> <del datetime=""> <em> <i> <q cite=""> <s> <strike> <strong>