В моей предыдущей статье о CSS3 мы создали размытый текст, используя тень и прозрачный цвет текста. Сегодня мы будем использовать похожую технику для создания анимированных светящихся ссылок.
Text-shadow — это универсальное свойство CSS3, которое поддерживается во всех браузерах без префиксов поставщиков. Кроме одного. Извините пользователей IE9 — вам нужно подождать еще несколько месяцев для IE10. Хотя это не просто полезно для теней. На темном фоне появляется белая «тень», которая заставляет текст светиться:
Это может быть применено, когда пользователь наводит курсор на ссылку. Немного магии перехода CSS3, мы можем создать анимированный эффект свечения. Давайте напишем некоторый код. Начиная с нашего HTML, мы применим класс «свечение» к ссылке:
<a href="#" class="glow">Glowing Link</a>
Наше первое объявление CSS3 определяет начальное состояние и свойства перехода с префиксом поставщика. Переход начинается немедленно и длится полсекунды. Я обнаружил, что «линейная» синхронизация дает наиболее естественный эффект, но вы можете поэкспериментировать с другими (легкость, простота, легкость, простота, кубическая кривая):
a.glow, a.glow:hover, a.glow:focus
{
text-decoration: none;
color: #aaf;
text-shadow: none;
-webkit-transition: 500ms linear 0s;
-moz-transition: 500ms linear 0s;
-o-transition: 500ms linear 0s;
transition: 500ms linear 0s;
outline: 0 none;
}
Теперь мы можем определить светящиеся свойства текста. Я обнаружил, что одна тень текста, такая как 0 0 8px #fff, была слишком тонкой. Две тени дали лучший результат — одну белую и одну ярко-желтую с незначительным смещением:
a.glow:hover, a.glow:focus
{
color: #fff;
text-shadow: -1px 1px 8px #ffc, 1px -1px 8px #fff;
}
Посмотрите демонстрационную страницу светящихся ссылок . Исходный код содержит весь код, и я рекомендую вам поэкспериментировать с различными свойствами анимации и текстовых теней.
Этот анимационный эффект хорошо работает в Firefox, Chrome и Safari. IE9 не поддерживает тени текста, поэтому эффект не виден. Opera поддерживает переходы CSS3, но влияет только на определенные свойства. Цвет работает хорошо, но он не применяется к теням текста, что приводит к более резкой анимации. Это должно быть исправлено в будущей версии.
Второй набор ссылок на демонстрационной странице показывает эффект подсветки, созданный путем изменения цвета текста на цвет фона. Однако это делает текст невидимым в IE9 и ниже. Чтобы решить эту проблему, мы можем использовать Modernizr или написать собственный код для обнаружения теней , например
if (document.createElement("detect").style.textShadow === "") {
document.getElementsByTagName("html")[0].className += " textshadow";
}
Веселитесь с техникой. Пожалуйста, оставьте свои комментарии и URL, если вы создаете хороший эффект на своем сайте.