Всплывающие подсказки на CSS
Всплывающие при наведении подсказки перестают быть популярными. Причиной этому можно назвать развитие мобильного интернета, а на мобильных устройствах, как известно, не такого понятия как наведение, там есть либо «нажать», либо «не нажать». Однако существуют такие ситуации, в которых без всплывающих подсказок не обойтись.
Многие для такого рода функцилнала используют различные JavaScript
библиотеки. Но зачем? Достаточно только CSS
с псевдо-элементами и использования значения аттрибутов в них.
Сразу скажу, что поддержка у всех этих фич есть, начиная с Internet Explorer 8.
Теперь код.
<abbr
data-title="Белорусская Федерация Компьютерного Спорта"
class="popover">
БФКС
</abbr>
В данном примере я использовал тэг abbr
, но использовать можно абсолютно любой, какой вам нравится.
В аттрибуте data-title
хранится текст всплывающей подсказки, а класс popover
необходим для написания стилей.
abbr {
font: 16px 'Trebuchet MS';
border-bottom: 1px dashed #666;
}
.popover {
position: relative;
}
.popover:after {
display: inline-block;
font-size: 8px;
content: '?';
vertical-align: top;
margin-left: 10px;
}
.popover:before {
display: none;
position: absolute;
left: 0;
top: 100%;
background-color: #000;
color: #fff;
content: attr(data-title);
padding: 5px;
border-radius: 4px;
}
.popover:hover:before{
display: block;
}
Здесь внимания заслуживает только вот этот псевдо-элемент .popover:before
, а конкретнее строка content: attr(data-title)
. В не мы указываем, что хотим, чтобы содержимым content
нашего :before
было значение аттрибута data-title
– attr(data-title)
;