Я пытаюсь создать рождественские огни (в январе), используя CSS -webkit-animation свойства.
Для этого я использую это изображение:
Я пробовал:
@-webkit-keyframes lights {
0% {
background-position:0px;
} 100% {
background-position:0 -69px;
}
}
#lights {
width:100%;
height:69px;
background:url(https://mysterybrand.net/assets/images/new-year/live-drop-gardland.png);
-webkit-animation: lights 1s infinite;
}
Чего я хочу добиться: я хочу постоянно менять background position, чтобы казалось, что свет выключается и включается.
Почему мой код не меняет background position, а анимирует изображение?
Надеюсь, кто-нибудь может мне помочь.
Вы можете рассмотреть steps()1, чтобы получить необходимый эффект, и отрегулировать позиции, как показано ниже.
Обратите внимание на начальное значение, потому что 0 не совпадает с 0 0:
@keyframes lights {
0% {
/*Two zeros, not one !!*/
/*[0] is equivalent to [0 50%] and will create a different animation */
background-position:0 0;
}
100% {
background-position:0 -138px;
}
}
#lights {
height:69px;
background:url(https://mysterybrand.net/assets/images/new-year/live-drop-gardland.png);
animation: lights 1s infinite steps(2);
}
<div id="lights"></div>
Или сделайте это так:
@keyframes lights {
0%,50% {
background-position:0 0; /*Two zeros, not one !!*/
}
50.1%,100% {
background-position:0 -69px;
}
}
#lights {
height:69px;
background:url(https://mysterybrand.net/assets/images/new-year/live-drop-gardland.png);
animation: lights 1s infinite;
}
<div id="lights"></div>
Подробнее о том, как использовать steps(): https://stackoverflow.com/a/51843473/8620333
Основные этапы разработки сайта для стоматологической клиники
Продвижение своими сайтами как стратегия роста и независимости