Как сделать текст миганием на веб-сайте?

Я делаю веб-сайт, и я хочу, чтобы на странице мигала гиперссылка. Не важно, как быстро это происходит, только не слишком медленно. Было бы здорово, если бы я мог мигать в разных цветах.

Я попытался использовать text-decoration: blink; в css, но это не сработало.

Я добавил это в css файл, но теперь что?:

blink {
-webkit-animation-name: blink; 
-webkit-animation-iteration-count: infinite; 
-webkit-animation-timing-function: cubic-bezier(1.0,0,0,1.0);
-webkit-animation-duration: 1s;
}

Кажется не работает

Ответ 1

Вы можете сделать это довольно легко с помощью анимации CSS.

a {   
  animation-duration: 400ms;
  animation-name: blink;
  animation-iteration-count: infinite;
  animation-direction: alternate;
}

@keyframes blink {
  from {
    opacity: 1;
  }

  to {
    opacity: 0;
  }
}

Вы также можете расширить его, чтобы изменить цвета. Что-то вроде:

@keyframes blink {
  0% {
    opacity: 1;
    color: pink;
  }

  25% {
    color: green;
    opacity: 0;
  }

  50% {
    opacity: 1;
    color: blue;
  }

  75% {
   opacity: 0;
   color: orange;
 }

 100% {
   opacity: 1;
   color: pink;
 }
}

Обязательно добавьте префиксы поставщика

Демо: http://codepen.io/pstenstrm/pen/yKJoe

Update

Чтобы удалить эффект затухания, вы можете сделать:

b {
  animation-duration: 1000ms;
  animation-name: tgle;
  animation-iteration-count: infinite;
}

@keyframes tgle {
  0% {
    opacity: 0;
  }

  49.99% {
    opacity: 0;
  }
  50% {
    opacity: 1;
  }

  99.99% {
    opacity: 1;
  }
  100% {
    opacity: 0;
  }
}

Это также полезный трюк при анимации image-sprites

Ответ 2

Легко сделать текст мигающим:

window.setInterval(function() {
$('#blinkText').toggle();
}, 300);

и в html, просто введите следующее:

<p id="blinkText">Text blinking</p>

Ответ 3

Кажется, вы скопировали код из принятого ответа на Blink, не работающий в Chrome. Однако ответ неверен и только пытается обратиться к браузерам WebKit. Следующий код работает в браузерах WebKit, в современном Firefox и в IE 10+ (я установил параметры для моделирования способа работы классического <blink>):

@keyframes blink {
  from { opacity: 1; }
  to   { opacity: 0; }
}
@-webkit-keyframes blink {
  from { opacity: 1; }
  to   { opacity: 0; }
}
blink {
  animation-name: blink;
  animation-duration: 1s;
  animation-timing-function: ease-in-out;
  animation-iteration-count: infinite;
  -webkit-animation-name: blink;
  -webkit-animation-duration: 1s;
  -webkit-animation-timing-function: ease-in-out;
  -webkit-animation-iteration-count: infinite;
}

Для реального кроссбраузерного решения вам необходим JavaScript. Его временные изменения сдвигаются; см., например, некоторые ответы на Текст мигает jQuery.