Симпатичные подсказки на CSS3
И снова – здравствуйте!
В этой статье я хочу поделиться с Вами кодом, с помощью которого можно организовать простые, но достаточно приятные на вид, всплывающие подсказки для различных элементов на страничках ваших сайтов. В качестве примера я выбрал – ссылки, так как именно для них обычно требуются развёрнутые подсказки. Но ничто не мешает создать свои tooltips для других веб-элементов.
Несомненным плюсом рассматриваемых закладок является то обстоятельство, что для их создания не требуются никакие дополнительные скрипты и библиотеки – всё сделано с помощью стандартных средств CSS3.
Итак, как всегда, сначала создаём html-документ со следующей разметкой:
Подсказка CSS3
При наведении курсора на
<a class="tooltip" href="http://bulatlab.ru/">ЭТУ <span>
<img style="margin-right: 15px;" src="5.png" alt="lorem" width="100" height="80" align="left">
Это всплывающая подсказка в серых тонах</span></a>
ссылку появится всплывающая подсказка в серых тонах.<br>
При наведении курсора на <a class="tooltip yellow-tooltip" href="http://bulatlab.ru/">ЭТУ<span>Это всплывающая подсказка в желтых тонах</span> </a>
ссылку появится всплывающая подсказка в желтых тонах. <br>
При наведении курсора на
<a class="tooltip navy-tooltip" href="http://bulatlab.ru/">ЭТУ<span>
Это всплывающая подсказка в тёмно-серых тонах</span></a>
ссылку появится всплывающая подсказка в тёмно-серых тонах.<br>
При наведении курсора на
<a class="tooltip blue-tooltip" href="http://bulatlab.ru/">ЭТУ<span>Это всплывающая подсказка в голубых тонах</span></a>
ссылку появится всплывающая подсказка в голубых тонах.<br>
При наведении курсора на
<a class="tooltip pink-tooltip" href="http://bulatlab.ru/">ЭТУ<span>Это всплывающая подсказка в розовых тонах</span></a>
ссылку появится всплывающая подсказка в розовых тонах. <br>
В html-коде ничего сложного нет – это по сути обычные ссылки, с включенными в них элементами span, которые по существу и являются непосредственно самими подсказками. Кроме того, для примера, что помимо текста в подсказке может содержаться и графическая информация, в первую подсказку включен элемент img.
Далее определяем стили всех элементов в коде ниже, который помещаем либо в раздел head, либо присоединяем отдельным файлом. В данном коде также ничего супер-сложного и особенного нет. Только бы хотелось обратить внимание на стрелочки к подсказкам. Эти стрелочки реализованы с помощью пвсевдоклассов - .tooltip span:before и .tooltip span:after.
body{
color: #222;
font-family: 'Lucida sans', Arial, Helvetica;
width: 600px;
margin: 150px auto;
font-size: small;
line-height: 1.4;
}
.tooltip{
position: relative;
cursor: help;
display: inline-block;
text-decoration: none;
color: #dd4444;
outline: none;
font-weight:bold;
margin-top:30px;
}
.tooltip span{
visibility: hidden;
position: absolute;
bottom: 30px;
left: 50%;
z-index: 999;
width: 230px;
margin-left: -127px;
padding: 10px;
border: 2px solid #ccc;
opacity: .9;
background-color: #ddd;
background-image: -webkit-linear-gradient(rgba(255,255,255,.5), rgba(255,255,255,0));
background-image: -moz-linear-gradient(rgba(255,255,255,.5), rgba(255,255,255,0));
background-image: -ms-linear-gradient(rgba(255,255,255,.5), rgba(255,255,255,0));
background-image: -o-linear-gradient(rgba(255,255,255,.5), rgba(255,255,255,0));
background-image: linear-gradient(rgba(255,255,255,.5), rgba(255,255,255,0));
-moz-border-radius: 4px;
border-radius: 4px;
-moz-box-shadow: 0 1px 2px rgba(0,0,0,.4), 0 1px 0 rgba(255,255,255,.5) inset;
-webkit-box-shadow: 0 1px 2px rgba(0,0,0,.4), 0 1px 0 rgba(255,255,255,.5) inset;
box-shadow: 0 1px 2px rgba(0,0,0,.4), 0 1px 0 rgba(255,255,255,.5) inset;
text-shadow: 0 1px 0 rgba(255,255,255,.4);
color: #222;
font-weight:normal;
}
.tooltip:hover span{ visibility: visible;}
.tooltip span:before,.tooltip span:after{
content: "";
position: absolute;
z-index: 1000;
bottom: -7px;
left: 50%;
margin-left: -8px;
border-top: 8px solid #ddd;
border-left: 8px solid transparent;
border-right: 8px solid transparent;
border-bottom: 0;
}
/* Yellow */
.yellow-tooltip span{border-color: #e1ca82; background-color: #ffeaa6;}
.yellow-tooltip span:after{ border-top-color: #ffeaa6;}
.yellow-tooltip span:before{ border-top-color: #e1ca82;}
/* Navy */
.navy-tooltip span{
color: #fff;
text-shadow: 0 1px 0 #000;
border-color: #161a1f;
background-color: #1e2227;
}
.navy-tooltip span:after{ border-top-color: #1e2227;}
.navy-tooltip span:before{ border-top-color: #161a1f;}
/* Blue */
.blue-tooltip span {border-color: #59add4; background-color: #61bde7;}
.blue-tooltip span:after{ border-top-color: #61bde7;}
.blue-tooltip span:before{border-top-color: #59add4;}
/* Pink */
.pink-tooltip span {border-color: #ce4378; background-color: #ea4c88;}
.pink-tooltip span:after{border-top-color: #ea4c88;}
.pink-tooltip span:before{border-top-color: #ce4378;}
</style>
Вот и всё! :) До встречи в следующих статьях. Благодарю, что их читаете…