Я хочу создать анимацию загрузки блеска, которая будет отображаться на нескольких элементах с разными цветами фона.
В настоящее время я использую градиент background-image
и анимирую background-position
с помощью vw
единиц, но это не масштабируется, мои элементы будут иметь разную длину.
Есть ли способ, которым я могу анимировать background-image
с процентными единицами?
Созданная анимация
body {
background: black;
}
header {
width: 100%;
height: 50px;
background-color: rebeccapurple;
background-image: linear-gradient(
to right,
transparent 0%,
rgba(255,255,255,0.3) 50%,
transparent 100%
);
background-repeat: no-repeat;
background-position: -100vw;
animation: shine 2s infinite;
}
@keyframes shine {
0% {
background-position: -100vw;
}
100% {
background-position: 100vw;
}
}
<!DOCTYPE html>
<html>
<head>
<meta charset="utf-8">
<meta name="viewport" content="width=device-width">
<title>JS Bin</title>
<script src="https://code.jquery.com/jquery-3.1.0.js"></script>
</head>
<body>
<header></header>
</body>
</html>