keyframes не определяется

233
02 апреля 2017, 03:20
@keyframes rot {
  0% {
    background-color: #000 !important;
  }
  100% {
    background-color: #c0c0c0 !important;
  }
}
#telegramSiteHelperChatLabel
  animation-name rot
  animation-duration 2s
  animation-iteration-count infinite

Написано на stylus с nib префиксы оно ставит само. В консоли хрома вижу это(св-ва нехарактерные хрому зачеркнуты, остальное валидно)

-webkit-animation-name: rot;
-moz-animation-name: rot;
-o-animation-name: rot;
-ms-animation-name: rot;
animation-name: rot;
-webkit-animation-duration: 2s;
-moz-animation-duration: 2s;
-o-animation-duration: 2s;
-ms-animation-duration: 2s;
animation-duration: 2s;
-webkit-animation-iteration-count: infinite;
-moz-animation-iteration-count: infinite;
-o-animation-iteration-count: infinite;
-ms-animation-iteration-count: infinite;
animation-iteration-count: infinite;

Чуть ниже в панели keyframes вижу

0% {
}
main.css:1041
100% {
}
main.css:1044

На этих строках вроде валидные св-ва из вставки выше. Что интересно, если тот же самый код руками добавить в консоли все работает.

Что не так? Всю голову сломал. Если надо, могу дать урл реального проекта.

Если убрать !important и сделать просто background все супер. Почему?!

Answer 1

То, что вы хотите сделать, не соответствует стандарту W3C.

В спецификации описывается, что ключевые кадры с !important игнорируются:

The keyframe declaration block for a keyframe rule consists of properties and values. .... In addition, keyframe rule declarations qualified with !important are ignored.

А что собственно вы хотели сделать этим important? Анимация и так имеет приоритет еще больший, чем important:

@keyframes rot { 
  0% { 
    background-color: #000; 
  } 
  100% { 
    background-color: #c0c0c0; 
  } 
} 
 
div { 
  background-color: red !important; 
  animation: rot 2s infinite; 
}
<div>test</div>

Ну, кроме Firefox, который, кстати, в этом смысле соответствует стандарту:

Animations override all normal rules, but are overriden by !important rules.

READ ALSO
Как сохранять значение после выхода?

Как сохранять значение после выхода?

Всем привет! У меня такой вопрос почему не сохраняется RatingBar так как я сделал оценку, но после выхода из приложения у меня снова оценка 1, а не 4, то есть...

332
Не работает clear() WebDriver

Не работает clear() WebDriver

Не работает метод clear() из Selenium WebDriver в поисковике (если я правильно понял, пишет - Caused by: orgopenqa

400
Java OpenGL MouseListener для смены цвета полигона

Java OpenGL MouseListener для смены цвета полигона

Реализовываю прямоугольный полигон на OpenGLНикак не могу сделать смену цвета этого полигона по клику мыши

293