Анимированные подсказки для текста и ссылок с помощью свойств CSS3
Подсказки для ссылок, или же элементов текста всегда выглядят привлекательно, да и пользователю подсказки порой облегчают понимание того что он вообще хочет получить посетив тот или иной сайт. Подсказки бывают разные и по формам и по исполнению, с применением картинок в оформлении, работающие на javascript, даже говорящие и с проигрыванием музыки. Вариантов много и все они по своему хороши, тут уж дело вкуса.
Сегодня я хочу рассказать и показать вам, как используя замечательные свойства CSS3, без применения дополнительных картинок и javascript, можно создать простые и привлекательные анимированные подсказки к элементам текста или ссылкам. В работе мы будем использовать исключительно чистый стиль(функции) CSS3.
И так, начнем!
Сначала мы рассмотрим возможность вывода подсказок для отдельных отрывков(элементов) текста. Допустим у нас есть некий текст, в котором к какому то слову, или отрывку нужно дать пояснение в виде подсказки.
Для начала весь текст необходимо поместить в контейнер используя блочный элемент тега div присвоив ему class=”content”, отрывок текста с подсказкой поместим между тегами <span> и </span>
. Саму подсказку облачим тегом <i></i>
, тем самым придадим курсивное начертание текста подсказки, ну и в CSS3 он нам будет служить направляющей для оформления и вывода самой подсказки.
В HTML это будет выглядеть примерно так:
<div class="content">Я не люблю воскресные вечера. Время разбитых надежд и <span>утраченных иллюзий <i>Дождь не может идти вечно</i></span>. Все выходные ждёшь светлого будущего, а приходит понедельник.</div>
Шаг второй: CSS
Перейдем непосредственно к стилям наших подсказок через свойства CSS.
Во-первых определим стиль для видимого элемента нашей подсказки:
.content span { background:#eee; border:1px solid #444; cursor:pointer; display:inline-block; outline:none; padding:0 5px; position:relative; text-decoration:none; -webkit-border-radius:5px; -moz-border-radius:5px; -ms-border-radius:5px; -o-border-radius:5px; border-radius:5px; }
А теперь оформим внешний вид и скрытие плавающей области подсказки :
.content span i { visibility:hidden; border:1px solid #444; bottom:60px; left:50%; margin-left:-110px; opacity:0; padding:10px; position:absolute; width:200px; z-index:99; background-image:-webkit-linear-gradient(rgba(255,255,255,.6), rgba(255,255,255,.2)); background-image:-moz-linear-gradient(rgba(255,255,255,.6), rgba(255,255,255,.2)); background-image:-ms-linear-gradient(rgba(255,255,255,.6), rgba(255,255,255,.2)); background-image:-o-linear-gradient(rgba(255,255,255,.6), rgba(255,255,255,.2)); background-image:linear-gradient(rgba(255,255,255,.6), rgba(255,255,255,.2)); background-color: #eee; -webkit-border-radius:5px; -moz-border-radius:5px; -ms-border-radius:5px; -o-border-radius:5px; border-radius:5px; -webkit-transition:all 0.3s ease-in-out; -moz-transition:all 0.3s ease-in-out; -o-transition:all 0.3s ease-in-out; -ms-transition:all 0.3s ease-in-out; transition:all 0.3s ease-in-out; } .content span:hover i { bottom:30px; opacity:0.95; visibility:visible; }
Это еще не все, было бы нелепо оставлять подсказке однотипный внешний вид и цветовую гамму, так что можно немного поработав придать необычные формы и различные цвета нашим подсказкам.
В HTML все это действо будет выглядеть примерно так:
<div class="demo_content"> <p>Это <span>подсказка №1<i class="v1">Подсказка номер один</i></span> Фон может быть <span class="r">красный<i class="v1">Подсказка №1 – красный цвет</i></span> <span class="g">зеленый<i class="v1">Подсказка №1 – зеленый цвет</i></span> и <span class="b">синий<i class="v1">Подсказка №1 – синий цвет</i></span></p> <hr /> Это <span>подсказка №2<i class="v2">Подсказка номер два</i></span> Фон может быть <span class="r">красный<i class="v2">Подсказка №2 – красный цвет</i></span> <span class="g">зеленый<i class="v2">Подсказка №2 – зеленый цвет</i></span> и <span class="b">синий<i class="v2">Подсказка №2 – синий цвет</i></span> <hr /> Это <span>подсказка №3<i class="v3">Подсказка номер три</i></span> Фон может быть <span class="r">красный<i class="v3">Подсказка №3 – красный цвет</i></span> <span class="g">зеленый<i class="v3">Подсказка №3– зеленый цвет</i></span> и <span class="b">синий<i class="v3">Подсказка №3 – синий цвет</i></span> <hr /> Это <span>подсказка №4<i class="v4">Подсказка номер четыре</i></span> Фон может быть <span class="r">красный<i class="v4">Подсказка №4 – красный цвет</i></span> <span class="g">зеленый<i class="v4">Подсказка №4 – зеленый цвет</i></span> и <span class="b">синий<i class="v4">Подсказка №4 – синий цвет</i></span> <hr /></div>
Вот и все, проделав все эти нехитрые манипуляции и телодвижения, те кому это надо, получат замечательные анимированные подсказки на свой сайт или блог.