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

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

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

Видео урок

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

Я создал обычную страницу 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.

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

.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 требуется совсем немного кода. Если вам понравился урок, поделитесь им в социальных сетях. Подписывайтесь на наш канал и группу в вк. Ссылки в сайдбаре) До встречи в новых статьях. Пока!

Понравилась статья? Поделиться с друзьями:
WordPress-Блог
Добавить комментарий

;-) :| :x :twisted: :smile: :shock: :sad: :roll: :razz: :oops: :o :mrgreen: :lol: :idea: :grin: :evil: :cry: :cool: :arrow: :???: :?: :!: