Aнимированные подсказки на CSS3 Aнимированные подсказки на CSS3



 

Если ваш сайт содержит множество информации, то это наверняка запутает пользователя, и ему потребуется некоторое объяснение происходящего. Отличным способом будет внедрение в структуру сайта ненавязчивых подсказок, которые отлично дополнят ваш сайт и будут выполнять свою миссию. В данном уроке мы рассмотрим процесс создания замечательных анимированных подсказок с помощью css3. В демонстрации будут приводиться различные варианты подсказок, с разными эффектами появления и затухания. Следует заметить, что такие подсказки смогут работать в браузерах..

 

ДЕМО
ИСХОДНИКИ

 

..которые поддерживают трансформации css. В других браузерах, к сожалению, эффекты будут недоступны. И так, для начала нам необходимо создать разметку HTML для данных подсказок, для демонстрации мы будем использовать неупорядоченный список, вот как все выглядит:

<ul>
	<li><a href="#"><span>Google Plus</span></a></li>
	<li><a href="#"><span>Twitter</span></a></li>
	<li><a href="#"><span>Dribbble</span></a></li>
	<li><a href="#"><span>Facebook</span></a></li>
	<li><a href="#"><span>LinkedIn</span></a></li>
	<li><a href="#"><span>Forrst</span></a></li>

 

Как вы заметили, ничего сложного в ней нет, теперь рассмотрим самый главный элемент, это CSS3. Для подсказок с помощью CSS, будет использованы переходы и псевдо-элементы :before и  :after.


Теперь рассмотрим элементы списка, которые смещаются влево и ссылки будут иметь следующий вид:

.tt-wrapper li a{
    display: block;
    width: 68px;
    height: 70px;
    margin: 0 2px;
    outline: none;
    background: transparent url(../images/icons.png) no-repeat top left;
    position: relative;
}

 

Затем, задаем положения каждого фонового изображения в отдельности:

.tt-wrapper li .tt-gplus{
    background-position: 0px 0px;
}
.tt-wrapper li .tt-twitter{
    background-position: -68px 0px;
}
.tt-wrapper li .tt-dribbble{
    background-position: -136px 0px;
}
.tt-wrapper li .tt-facebook{
    background-position: -204px 0px;
}
.tt-wrapper li .tt-linkedin{
    background-position: -272px 0px;
}
.tt-wrapper li .tt-forrst{
    background-position: -340px 0px;
}

 

Для подсказок мы будем использовать эффект проявления подсказки сверху, поэтому устанавливаем значение свойства bottom равным 100px, размещая ее сверху ссылки.

.tt-wrapper li a span{
    width: 100px;
    height: auto;
    line-height: 20px;
    padding: 10px;
    left: 50%;
    margin-left: -64px;
    font-family: 'Alegreya SC', Georgia, serif;
    font-weight: 400;
    font-style: italic;
    font-size: 14px;
    color: #719DAB;
    text-shadow: 1px 1px 1px rgba(0, 0, 0, 0.1);
    text-align: center;
    border: 4px solid #fff;
    background: rgba(255,255,255,0.3);
    text-indent: 0px;
    border-radius: 5px;
    position: absolute;
    pointer-events: none;
    bottom: 100px;
    opacity: 0;
    box-shadow: 1px 1px 2px rgba(0,0,0,0.1);
    transition: all 0.3s ease-in-out;
}

 

Так как подсказка будет появляться при наведении курсора мыши на ссылку (а элемент spanсчитается частью ссылки), то подсказка будет выводиться при  проходе курсора мыши выше ссылки (элемент span здесь, но его непрозрачность равна 0, что делает его невидимым).

.tt-wrapper li a span:before,
.tt-wrapper li a span:after{
    content: '';
    position: absolute;
    bottom: -15px;
    left: 50%;
    margin-left: -9px;
    width: 0;
    height: 0;
    border-left: 10px solid transparent;
    border-right: 10px solid transparent;
    border-top: 10px solid rgba(0,0,0,0.1);
}

 

Для формирования указателя используем псевдо-элементы :before и :after. Мы задаем для них такие же стили и создаем треугольник с помощью прозрачных правых и левых рамок. Псевдо-элемент :before служит тенью для псевдо-элемента :after, поэтому мы устанавливаем черное значение rgba с низким уровнем непрозрачности.

.tt-wrapper li a span:after{
    bottom: -14px;
    margin-left: -10px;
    border-top: 10px solid #fff;
}

 

Для формирования указателя используем псевдо-элементы :before и :after. Мы задаем для них такие же стили и создаем треугольник с помощью прозрачных правых и левых рамок. Псевдо-элемент :before служит тенью для псевдо-элемента :after, поэтому мы устанавливаем черное значение rgba с низким уровнем непрозрачности.  Псевдо-элемент :after смещается на пиксель и делается белым, по образу рамки вокруг подсказки.

.tt-wrapper li a:hover span{
    opacity: 0.9;
    bottom: 70px;
}

 

При наведении курсора мыши мы перемещаем элемент span сверху и проявляем его. Материал взят из зарубежного источника - http://tympanus.net/codrops/2012/02/01/how-to-create-animated-tooltips-with-css3/ и представлен исключительно в ознакомительных целях.


Top

🔖 Выбор по тегам ×

💌 Написать сообщение ×

Все поля обязательны для заполнения!