Мигающий текст на сайт CSS стилями
Категория: Разработка сайтов
Мигающий текст на страницах сайта привлекает внимание, а значит может применяться для размещения надписей с акциям и скидками в интернет-магазинах. Раньше реализации были основаны на javascript, но с появлением CSS 3-го поколения, создание мигающего текста упростилось.
Переливание цвета достигается посредством анимации. Для этого необходимо создать фреймы с указанием состояния элемента. Переход между фреймами будет плавно осуществляться в автоматическом режиме.
Первый вариант
<style> #blink { -webkit-animation: blink 2s linear infinite; animation: blink 2s linear infinite; font-weight: bold; color: color: #F00; } @-webkit-keyframes blink { 0% { color: #F00; } 50% { color: #FBB; } 100% { color: #F00; } } @keyframes blink { 0% { color: #F00; } 50% { color: #FBB; } 100% { color: #F00; } } </style> <p>Первый вариант</p>
В примере мы создали плавный переход от красного цвета шрифта к розовому и обратно. Блок @-webkit-keyframes blink и @keyframes повторяет фреймы, это из-за того что разные браузеры поддерживают разные свойства css анимации.
Этот вариант смотрится отлично на тёмном фоне. Он выглядит сложнее и должен дать понять что комбинируя различные свойства можно добиться множества вариантов пульсации и переливания надписей.
Второй вариант
<style> #blink-2{ color: #fff; font-size: 24px; font-weight: 700; text-align: center; animation:blur .75s ease-out infinite; text-shadow:text-shadow: 0 0 5px #abc, 0 0 7px #abc; } @keyframes blur{ from{ text-shadow:0px 0px 10px #fff, 0px 0px 10px #fff, 0px 0px 25px #fff, 0px 0px 25px #fff, 0px 0px 25px #fff, 0px 0px 25px #fff, 0px 0px 25px #fff, 0px 0px 25px #fff, 0px 0px 50px #fff, 0px 0px 50px #fff, 0px 0px 50px #7B96B8, 0px 0px 150px #7B96B8, 0px 10px 100px #7B96B8, 0px 10px 100px #7B96B8, 0px 10px 100px #7B96B8, 0px 10px 100px #7B96B8, 0px -10px 100px #7B96B8, 0px -10px 100px #7B96B8;} } </style> <p>Второй вариант</p>
Не следует забывать что мигающие надписи отвлекают посетителей от целевых действий и могут способствовать быстрому уходу с сайта. Поэтому размещать их следует так, чтобы они не раздражали и не мешали просмотру основного контента. Не делайте мигание слишком ярким, небольшой пульсации цвета будет достаточно.
css — Мерцание элемента в SVG-картинке
Изменён 3 года 4 месяца назад
Просмотрен 825 раз
Внутри SVG-файла есть элемент, например <g>...</g>
, внутри него ещё много всего.
Как сделать, чтобы opacity
у всего содержимого внутри blink
постоянно циклично менялось, например с 0.5 на 1, и опять на 0.5?
- css
- html5
- svg
- css-animation
- svg-animation
2
SVG анимация
Если нужно анимировать все элементы, которые находятся внутри группы, то можно добавить команду анимации перед закрывающим групповым тегом </g>
<animate attributeName="opacity" dur="1s" values="0. 5;1;0.5" repeatCount="indefinite" />
<svg xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink" viewBox="0 0 240 220" > <rect x="10" y="10" rx="10" fill="#151515" /> <!-- Блок для анимации opacity --> <g opacity="1"> <rect x="20" y="20" rx="10" fill="skyblue" /> <rect x="100" y="20" rx="10" fill="yellow" /> <rect x="180" y="20" rx="10" fill="greenyellow" /> <animate attributeName="opacity" dur="1s" values="0.5;1;0.5" repeatCount="indefinite" /> </g> <!-- Вторая группа элементов, которая статична --> <g> <circle cx="35" cy="120" r="15" fill="purple" /> <circle cx="115" cy="120" r="15" fill="yellow" /> <circle cx="195" cy="120" r="15" fill="dodgerblue" /> </g> </svg>
CSS анимация
Обратите внимание на то, что одна и та же css анимация
применена к разным группам с разными условиями. Элементы первой группа мерцают постоянно. Элементы второй группы мерцают при наведении.
#blink { animation: fade 800ms infinite; } @keyframes fade { 0% { fill-opacity: 0.5; } 12% { fill-opacity: 1; } 100% { fill-opacity: 0.5; } } #circleBlink:hover { animation: fade 0.5s infinite; }
<svg xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink" viewBox="0 0 240 220" > <rect x="10" y="10" rx="10" fill="#151515" /> <!-- Блок для анимации opacity --> <g > <rect x="20" y="20" rx="10" fill="skyblue" /> <rect x="100" y="20" rx="10" fill="yellow" /> <rect x="180" y="20" rx="10" fill="greenyellow" /> </g> <!-- Вторая группа элементов начинает мерцать при наведении --> <rect x="15" y="95" rx="5" fill="#bababa" /> <g> <circle cx="35" cy="120" r="15" fill="purple" /> <circle cx="115" cy="120" r="15" fill="green" /> <circle cx="195" cy="120" r="15" fill="dodgerblue" /> <text x="135" y="155" font-size="18" text-anchor="middle"> Hover me </text> </g> </svg>
Зарегистрируйтесь или войдите
Регистрация через Google
Регистрация через Facebook
Регистрация через почту
Отправить без регистрации
Почта
Необходима, но никому не показывается
Отправить без регистрации
Почта
Необходима, но никому не показывается
Нажимая на кнопку «Отправить ответ», вы соглашаетесь с нашими пользовательским соглашением, политикой конфиденциальности и политикой о куки
css-переходов — Как создать «мигающий» текст только с помощью CSS?
спросил
Изменено 1 год, 10 месяцев назад
Просмотрено 16 тысяч раз
Я пытаюсь создать решение для мерцания текста только с помощью CSS. В тексте должно быть написано:
Исследования…
, и я бы хотел, чтобы он появлялся и исчезал, создавая у пользователя впечатление, что он исследует в том же темпе, что и бьющееся сердце.
Это код, который у меня есть:
HTML :
Исследование...
CSS :
.мигает { переход: непрозрачность 2s плавность входа-выхода бесконечный; непрозрачность: 1; } непрозрачность @keyframes { 0% { непрозрачность: 1; } 50% { непрозрачность: 0,5 } 100% { непрозрачность: 0; } }
Но это не работает, также это для расширения хрома, поэтому, пока он работает в последней версии хрома, должно быть достаточно.
- css
- css-переходы
2
Ваша проблема в том, что вы используете переход и анимацию в 1 строку.
Измените переход
на анимацию
, как показано ниже.
Скрипка: https://jsfiddle.net/kc6936cw/
.blinking { анимация: непрозрачность 2 с, плавность входа-выхода бесконечна; непрозрачность: 1; } непрозрачность @keyframes { 0% { непрозрачность: 1; } 50% { непрозрачность: 0 } 100% { непрозрачность: 1; } }
Редактировать: Можно также использовать комментарий jtmingus:
Вы также можете добавить альтернативный тег
в конец вместо перехода от 1 -> 0 -> 1. Это будет выглядеть как анимация: opacity 2s easy- вход-выход бесконечного чередования;
2
Это должно сработать
.мигает { анимация: mymove 2s бесконечная альтернатива; } @keyframesмоё перемещение { из {непрозрачность:0;} в {непрозрачность: 1;} }
Исследование. ..
это более плавная анимация
0
.мигает { переход: непрозрачность 2s плавность входа-выхода бесконечный; анимация: мигалка 1с линейная бесконечная; непрозрачность: 1; } мигалка @keyframes { 0% { непрозрачность: 1; } 50% { непрозрачность: 0,5 } 100% { непрозрачность: 0; } }
Уже есть очень хороший пример Как сделать мигающий/мигающий текст с помощью css3?
Судя по всему, вместо перехода
, анимация
должна использоваться.
.мигает { имя-анимации: анимировать; продолжительность анимации: 2 с; количество итераций анимации: бесконечно; непрозрачность: 1; } @keyframes анимировать { 0% { непрозрачность: 1; } 50% { непрозрачность: 0,5 } 100% { непрозрачность: 0; } }
Зарегистрируйтесь или войдите в систему
Зарегистрируйтесь с помощью Google
Зарегистрироваться через Facebook
Зарегистрируйтесь, используя адрес электронной почты и пароль
Опубликовать как гость
Электронная почта
Обязательно, но не отображается
Опубликовать как гость
Электронная почта
Требуется, но не отображается
blink — исчезновение Css мигание
спросил
Изменено 1 год, 11 месяцев назад
Просмотрено 31к раз
Пытаюсь сделать div flash, но не хочу, чтобы текст внутри него мигал, только сама кнопка. Я не уверен, как я могу обойти это. Надеюсь, это имеет смысл. Кто-нибудь может помочь?
Вот код:
@-moz-keyframes blink {0%{opacity:1;} 50%{opacity:0.5;} 100%{opacity:1;}} /* Firefox */ @-webkit-keyframes blink {0%{opacity:1;} 50%{opacity:0.5;} 100%{opacity:1;}} /* Webkit */ @-ms-keyframes blink {0%{opacity:1;} 50%{opacity:0.5;} 100%{opacity:1;}} /* IE */ @keyframes blink {0%{opacity:1;} 50%{opacity:0.5;} 100%{opacity:1;}} /* Opera */ .скачать { цвет фона: красный; отступ: 15px 15px 15px 15px; выравнивание текста: по центру; нижняя граница: 4px; размер шрифта: 24px; радиус границы: 5px; -moz-transition: все 0,5 с облегчения входа-выхода; -webkit-transition: все 0,5 с легкость входа-выхода; -o-переход: все 0,5 с плавного входа-выхода; -ms-переход: все 0,5 с плавного входа-выхода; переход: все 0,5 с облегчение входа-выхода; -moz-анимация: мигание обычное 1,5 с бесконечное плавное затухание; /* Fire Fox */ -webkit-animation: мигание нормальное 1,5 с бесконечное облегчение входа-выхода; /* Вебкит */ -ms-анимация: мигать нормально 1,5 с бесконечное плавное затухание; /* IE */ анимация: мигание обычное 1,5 с бесконечное плавное включение; /* Опера */ }
СКАЧАТЬ ПРОБНУЮ ПРОБНУЮ ВЕРСИЮ
- css
- blink
2
@ключевые кадры мигают { 0% { цвет фона: rgba(255,0,0,1) } 50% { цвет фона: rgba (255,0,0,0,5) } 100% { цвет фона: rgba(255,0,0,1) } } @-webkit-ключевые кадры мигают { 0% { цвет фона: rgba(255,0,0,1) } 50% { цвет фона: rgba (255,0,0,0,5) } 100% { цвет фона: rgba(255,0,0,1) } } . скачать { отступ: 15px 15px 15px 15px; выравнивание текста: по центру; нижняя граница: 4px; размер шрифта: 24px; радиус границы: 5px; -moz-transition: все 0,5 с облегчения входа-выхода; -webkit-transition: все 0,5 с легкость входа-выхода; -o-переход: все 0,5 с плавного входа-выхода; -ms-переход: все 0,5 с плавного входа-выхода; переход: все 0,5 с облегчение входа-выхода; -moz-анимация: мигание обычное 1,5 с бесконечное плавное затухание; /* Fire Fox */ -webkit-animation: мигание нормальное 1,5 с бесконечное облегчение входа-выхода; /* Вебкит */ -ms-анимация: мигать нормально 1,5 с бесконечное плавное затухание; /* IE */ анимация: мигание обычное 1,5 с бесконечное плавное включение; /* Опера */ }
<дел>СКАЧАТЬ