Создание текстовых эффектов с использованием CSS3
16 сентября 2015 | Опубликовано в css | Нет комментариев »
В этом уроке мы покажем шесть удивительных текстовых эффектов CSS3: эффект трехмерности, созданный с помощью тени текста, эффекты с градиентами и масками изображений, эффекты с переходами и свойством background-clip и другие эффекты. Без сомнения все они могут пригодиться, так как с помощью CSS3 можно добиться по-настоящему впечатляющих результатов. Часть вышеописанных эффектов работает в большинстве браузеров, поддерживающих CSS3, но несколько примеров работает только на движке Webkit. Следовательно, что бы получить максимальное впечатления, посмотрите демонстрацию в браузерах, поддерживающих движок Webkit, таких как Chrome, Safari и Opera.
Демонстрация работы – Скачать исходный код
Для начала давайте добавим общие стили для всех дальнейших экспериментов:
#main div { font-size: 120px; font-weight:bold; position: relative; }
Здесь мы задали размер шрифта и его толщину. Теперь давайте начнем.
Эффект №1 — Трехмерный текст с помощью тени текста CSS3
Сложно представить все возможности, которые предоставляет традиционное свойство тени текста. В CSS3 свойство тени текста применяет тень к тексту. Можно задать горизонтальный размер тени, вертикальный размер тени, расстояние размытие и цвет тени:
text-shadow: h-shadow v-shadow blur color; /* пример: */ text-shadow: 2px 2px 5px #FF7777;
Чтобы добавить больше глубины тексту, нужно просто добавить несколько теней, например:
#eff1 { color: #00b506; text-shadow: 0px 0px 0 rgb(-28,153,-22), 1px 1px 0 rgb(-55,126,-49), 2px 2px 0 rgb(-83,98,-77), 3px 3px 0 rgb(-111,70,-105), 4px 4px 0 rgb(-139,42,-133), 5px 5px 0 rgb(-166,15,-160), 6px 6px 0 rgb(-194,-13,-188), 7px 7px 0 rgb(-222,-41,-216), 8px 8px 7px rgba(0,0,0,0.75), 8px 8px 1px rgba(0,0,0,0.5), 0px 0px 7px rgba(0,0,0,.2); }
Эффект №2 — градиент текста CSS3 c помощью -webkit-mask-image для движка Webkit
Этот эффект использует маски CSS3, свойство -webkit-mask-image. Пока что это свойство не поддерживается другими браузерами, но надеемся, оно будет поддерживаться в будущем:
#eff2 { color: #00b506; text-shadow: 1px 1px 1px #000000; -webkit-mask-image: -webkit-gradient(linear, left top, left bottom, from(rgba(0,0,0,1)), color-stop(50%, rgba(0,0,0,.3)), to(rgba(0,0,0,1))); }
Эффект №3 — радужный фон текста CSS3 с помощью -webkit-text-fill-color для движка Webkit
Чтобы добиться такого эффекта, используем свойство background-clip с нестандартным значением text, которое поддерживается только браузерами на движке Webkit:
#eff3 { background-image: -webkit-linear-gradient(left, #ff0000, #ff7f00, #ffff00, #00ff00, #00ffff, #0000ff, #8b00ff); background-image: -moz-linear-gradient(left, #ff0000, #ff7f00, #ffff00, #00ff00, #00ffff, #0000ff, #8b00ff); background-image: -ms-linear-gradient(left, #ff0000, #ff7f00, #ffff00, #00ff00, #00ffff, #0000ff, #8b00ff); background-image: -o-linear-gradient(left, #ff0000, #ff7f00, #ffff00, #00ff00, #00ffff, #0000ff, #8b00ff); background-image: linear-gradient(to right, #ff0000, #ff7f00, #ffff00, #00ff00, #00ffff, #0000ff, #8b00ff); -webkit-text-fill-color: transparent; -webkit-background-clip: text; }
Эффект №4 — Сияющий текст с помощью переходов CSS3 и -webkit-background-clip для движка Webkit
В браузере на движке Webkit полоса света временами пробегает по тексту. Для достижения этого эффекта использовано то же свойство background-clip с нестандартным значением text:
#eff4 { background: #00b506 -webkit-gradient(linear, left top, right top, from(#00b506), to(#00b506), color-stop(0.5, #ffffff)) 0 0 no-repeat; color: rgba(255, 255, 255, 0.1); font-size: 120px; font-weight: bold; position: relative; -webkit-animation: shine 2s infinite; -webkit-background-clip: text; -webkit-background-size: 300px; } @-webkit-keyframes shine { 0% { background-position: top left; } 100% { background-position: top right; } }
Эффект №5 — обведенный текст CSS3 с помощью свойства text-stroke для движка Webkit
Можно легко добавить интересную плоскую обводку текста с помощью свойства -webkit-text-stroke:
#eff5 { color: #00b506; -webkit-text-stroke: 1px #000; }
Эффект №6 — трехмерный поворот текста с помощью свойства трансформации поворота вокруг оси Y CSS3
Можно повернуть текст с помощью переходов и трансформации поворота вокруг оси Y:
#eff6 { color: #00b506; } #eff6 p { color: #8A2BE2; cursor: pointer; display: inline-block; -webkit-transition: .5s; -moz-transition: .5s; -o-transition: .5s; transition: .5s; } #eff6 p:hover { -webkit-transform: rotateY(-180deg); -moz-transform: rotateY(-180deg); -0-transform: rotateY(-180deg); transform: rotateY(-180deg); filter: progid:DXImageTransform.Microsoft.BasicImage(rotation=2) }
Демонстрация работы – Скачать исходный код
Заключение
В этом уроке мы рассмотрели способы создания различных текстовых эффектов с помощью свойств CSS3. Надеемся, Вам понравился этот урок и он Вам пригодится. Не все свойства, который были использованы для этого урока, работают во всех браузерах, но все они используются только для создания красивых эффектов, не влияющих на функциональность, так что их можно применять, например, с помощью правила @supports, только для поддерживающих эти свойства браузеров.
Автор урока Andrew Prikaznov
Перевод — Дежурка
Смотрите также:
Похожие статьи
- Использование множественных фоновых изображений CSS: основы
- Создание элементов, расположенных ровно по центру, с высотой и шириной, заданными в процентах
- Использование плавной прокрутки и ее недостатки
- Использование тега span для разделения слов в ссылках в CSS
- Использование порядка расположения множественных фоновых изображений