Я сделал CSS анимацию некоторых вращающихся монет для своей домашней страницы.
Она действительно хорошо работает в Chrome (для настольных и мобильных устройств), но мне трудно заставить ее работать в Firefox.
Я должен признать, что мои знания о Firefox довольно ограничены, поэтому я не уверен, с чего начать отладку этого?
Я пытался применить: "transform-style: сохранение-3d;» ко всем элементам, но, похоже, это ничего не меняет?
HTML и CSS немного длинны и превышают ограничение на количество символов здесь при переполнении стека, поэтому я удалил некоторые из края (монеты, состоящие из 80 отдельных DIV), но рабочую анимацию можно увидеть на Codepen здесь: https://codepen.io/lars-ejaas/pen/PowmbVO
<body>
<p>Trader Rookie Forex Position Size Calculator</p>
<p id="no2">Browser Extension for your favorite Internet Browser!</p>
<div id="getitnow" class="cutout"></div>
<div id="coin__frame">
<div id="chrome__frame">
<div id="comingSoon" class="cutout"></div>
<div id=chrome__logo> Google<br> Chrome</div>
<div class="coin Chrome"><a href="https://traderrookie.com" target="_blank" rel="noopener noreferrer" title="Download now for Google Chrome">
<div class="coin__front"></div>
<div class="coin__edge">
<div></div><div></div><div></div><div></div><div></div><div></div><div></div><div></div><div></div><div></div>
<div></div><div></div><div></div><div></div><div></div><div></div><div></div><div></div><div></div><div></div>
<div></div><div></div><div></div><div></div><div></div><div></div><div></div><div></div><div></div><div></div>
<div></div><div></div><div></div><div></div><div></div><div></div><div></div><div></div><div></div><div></div>
<div></div><div></div><div></div><div></div><div></div><div></div><div></div><div></div><div></div><div></div>
<div></div><div></div><div></div><div></div><div></div><div></div><div></div><div></div><div></div><div></div>
<div></div><div></div><div></div><div></div><div></div><div></div><div></div><div></div><div></div><div></div>
<div></div><div></div><div></div><div></div><div></div><div></div><div></div><div></div><div></div><div></div>
</div>
<div class="coin__back"></div>
<div class="coin__shadow"></div></a>
</div>
</div>
<div id="firefox__frame">
<div id=firefox__logo>Firefox<br> Browser</div>
<div class="coin Firefox"><a href="https://traderrookie.com" target="_blank" rel="noopener noreferrer" title="Download now for Mozilla Firefox">
<div class="coin__frontF"></div>
<div class="coin__edge">
<div></div><div></div><div></div><div></div><div></div><div></div><div></div><div></div><div></div><div></div>
<div></div><div></div><div></div><div></div><div></div><div></div><div></div><div></div><div></div><div></div>
<div></div><div></div><div></div><div></div><div></div><div></div><div></div><div></div><div></div><div></div>
<div></div><div></div><div></div><div></div><div></div><div></div><div></div><div></div><div></div><div></div>
<div></div><div></div><div></div><div></div><div></div><div></div><div></div><div></div><div></div><div></div>
<div></div><div></div><div></div><div></div><div></div><div></div><div></div><div></div><div></div><div></div>
<div></div><div></div><div></div><div></div><div></div><div></div><div></div><div></div><div></div><div></div>
<div></div><div></div><div></div><div></div><div></div><div></div><div></div><div></div><div></div><div></div>
</div>
<div class="coin__back"></div>
<div class="coin__shadow"></div></a>
</div>
</div>
<div id="edge__frame">
<div id=edge__logo>Microsoft<br>Edge</div>
<div class="coin Edge"><a href="https://traderrookie.com" target="_blank" rel="noopener noreferrer" title="Download now for Microsoft Edge">
<div class="coin__frontE"></div>
<div class="coin__edge">
<div></div><div></div><div></div><div></div><div></div><div></div><div></div><div></div><div></div><div></div>
<div></div><div></div><div></div><div></div><div></div><div></div><div></div><div></div><div></div><div></div>
<div></div><div></div><div></div><div></div><div></div><div></div><div></div><div></div><div></div><div></div>
<div></div><div></div><div></div><div></div><div></div><div></div><div></div><div></div><div></div><div></div>
<div></div><div></div><div></div><div></div><div></div><div></div><div></div><div></div><div></div><div></div>
<div></div><div></div><div></div><div></div><div></div><div></div><div></div><div></div><div></div><div></div>
<div></div><div></div><div></div><div></div><div></div><div></div><div></div><div></div><div></div><div></div>
<div></div><div></div><div></div><div></div><div></div><div></div><div></div><div></div><div></div><div></div>
</div>
<div class="coin__back"></div>
<div class="coin__shadow"></div></a>
</div>
</div>
<div id="opera__frame">
<div id=opera__logo>Opera</div>
<div class="coin Opera"><a href="https://traderrookie.com" target="_blank" rel="noopener noreferrer" title="Download now for Opera">
<div class="coin__frontO"></div>
<div class="coin__edge">
<div></div><div></div><div></div><div></div><div></div><div></div><div></div><div></div><div></div><div></div>
<div></div><div></div><div></div><div></div><div></div><div></div><div></div><div></div><div></div><div></div>
<div></div><div></div><div></div><div></div><div></div><div></div><div></div><div></div><div></div><div></div>
<div></div><div></div><div></div><div></div><div></div><div></div><div></div><div></div><div></div><div></div>
<div></div><div></div><div></div><div></div><div></div><div></div><div></div><div></div><div></div><div></div>
<div></div><div></div><div></div><div></div><div></div><div></div><div></div><div></div><div></div><div></div>
<div></div><div></div><div></div><div></div><div></div><div></div><div></div><div></div><div></div><div></div>
<div></div><div></div><div></div><div></div><div></div><div></div><div></div><div></div><div></div><div></div>
</div>
<div class="coin__back"></div>
<div class="coin__shadow"></div></a>
</div>
</div>
</div>
<div id="Forex30" class="cutout"></div>
<div id="IndexC" class="cutout"></div>
<div id="IndexC" class="cutout"></div>
<div id="IndexC" class="cutout"></div>
</body>
body {
height: 100vh;
background-image: linear-gradient(135deg, #07a2cc 0%, rgba(7, 162, 204, 0) 70%), linear-gradient(25deg, #0b2dec 10%, rgba(11, 45, 236, 0) 80%), linear-gradient(315deg, #01d1d7 15%, rgba(1, 209, 215, 0) 80%), linear-gradient(245deg, #08ced1 100%, rgba(8, 206, 209, 0) 70%);
}
p {
margin: 50px 0 0 50px;
font-family: "Oswald", sans-serif;
font-size: 40px;
color: white;
}
p#no2 {
margin: 0 0 0 50px;
font-size: 30px;
}
.cutout{
margin: 10px 0 0 50px;
font-family: "Oswald", sans-serif;
text-transform: uppercase;
color: white;
mix-blend-mode: screen;
border-radius: 20px;
}
.cutout::after{
left: 50px;
border-radius: 20px;
background: white;
box-shadow: 8px 8px 8px #00000050;
font-family: "Oswald", sans-serif;
color: black;
text-transform: uppercase;
mix-blend-mode: screen;
position:absolute;
}
#getitnow {
height: 70px;
width: 225px;
font-size: 50px;
}
#comingSoon{
z-index: 200;
position: absolute;
left: 170px;
top: 300px;
mix-blend-mode: normal;
}
#comingSoon::after {
content: 'COMING SOON';
font-size: 30px;
padding: 0 10px 0 10px;
color: hsla(192.56, 93%, 41.36%, 1);
}
#getitnow::after {
content: 'GET IT NOW';
font-size: 50px;
padding: 0 10px 0 10px;
}
#Forex30 {
height: 40px;
width: 600px;
font-size: 50px;
}
#Forex30::after {
content: 'combine 30+ currencies to Build any forexpair';
font-size: 30px;
padding: 0 10px 0 10px;
}
#IndexC {
margin-top:20px;
height: 40px;
width: 680px;
font-size: 50px;
}
#IndexC::after {
content: 'calculate position sizes for Indicies and commodities ';
font-size: 30px;
padding: 0 10px 0 10px;
}
#coin__frame {
margin-top: 10px;
}
#coin__frame > div {
margin-left: 220px !important;
display: inline-flex;
}
.coin {
position: relative;
width: 100px;
height: 100px;
margin: 50px auto;
transform-style: preserve-3d;
animation: rotate3d 3s infinite;
transition-timing-function: cubic-bezier(0, 0.86, 0.32, 1.28);
transition: all 3s;
cursor: pointer;
}
#chrome__logo {
font-family: "Oswald", sans-serif;
line-height: 48px;
font-size: 40px;
font-weight: bold;
text-shadow: 2px 2px 4px #00000050;
color: white;
background-repeat: no-repeat;
position: absolute;
width: 200px;
height: 80px;
left: 90px;
top: 240px;
}
#firefox__logo {
font-family: "Oswald", sans-serif;
line-height: 48px;
font-size: 40px;
font-weight: bold;
text-shadow: 2px 2px 4px #00000050;
color: white;
background-repeat: no-repeat;
position: absolute;
width: 200px;
height: 80px;
left: 405px;
top: 240px;
}
#edge__logo {
font-family: "Oswald", sans-serif;
line-height: 48px;
text-align: left;
font-size: 40px;
font-weight: bold;
text-shadow: 2px 2px 4px #00000050;
color: white;
background-repeat: no-repeat;
position: absolute;
width: 200px;
height: 80px;
left: 760px;
top: 240px;
}
#opera__logo {
font-family: "Oswald", sans-serif;
line-height: 48px;
text-align: left;
font-size: 40px;
font-weight: bold;
text-shadow: 2px 2px 4px #00000050;
color: white;
background-repeat: no-repeat;
position: absolute;
width: 200px;
height: 80px;
left: 1115px;
top: 240px;
}
/* Text animations */
#chrome__frame > #chrome__logo,
#firefox__frame > #firefox__logo,
#edge__frame > #edge__logo,
#opera__frame > #opera__logo {
transform: scale(0);
transform-origin: 180px 100px;
-webkit-transition: transform .5s ease;
transition: transform .5s ease;
margin-left: 0px;
}
#chrome__frame:hover > #chrome__logo,
#firefox__frame:hover > #firefox__logo,
#edge__frame:hover > #edge__logo,
#opera__frame:hover > #opera__logo{
transform: scale(1);
}
.coin.Firefox {
animation-delay: 0.34s;
}
.coin.Edge {
animation-delay: 0.68s;
}
.coin.Opera {
animation-delay: 1.02s;
}
.coin__frontF {
background-image: url("https://Traderrookie.com/images/ExtensionImages/firefox_Logo2.png"), linear-gradient(rgba(255, 255, 255, 0), rgba(0, 0, 0, 0.4));
}
.coin__frontE {
background-image: url("https://Traderrookie.com/images/ExtensionImages/Microsoft_Edge_logo.png"), linear-gradient(rgba(255, 255, 255, 0), rgba(0, 0, 0, 0.4));
}
.coin__frontO {
background-image: url("https://traderrookie.com/images/ExtensionImages/opera_Logo.png"), linear-gradient(rgba(255, 255, 255, 0), rgba(0, 0, 0, 0.4));
}
.coin:hover {
animation: none;
transform: rotateY(0deg);
}
.coin__front:hover,
.coin__frontE:hover,
.coin__frontF:hover
.coin__frontO:hover
{
box-shadow: 8px 8px 8px #00000050;
}
.coin__front,
.coin__frontF,
.coin__frontE,
.coin__frontO,
.coin__back {
position: absolute;
width: 100px;
height: 100px;
border-radius: 50%;
overflow: hidden;
background-color: #fff;
}
.coin__front:after,
.coin__frontF:after,
.coin__frontE:after,
.coin__frontO:after,
.coin__back:after {
content: "";
position: absolute;
left: -50px;
bottom: 100%;
display: block;
height: 66.6666666667px;
width: 200px;
background: #fff;
opacity: 0.3;
animation: shine linear 1.5s infinite;
}
.coin__front {
background-image: url("https://Traderrookie.com/images/ExtensionImages/chrome_Logo.png"), linear-gradient(rgba(255, 255, 255, 0), rgba(0, 0, 0, 0.4));
background-size: cover;
transform: translateZ(3px);
}
.coin__back {
background-image: url("https://Traderrookie.com/images/ExtensionImages/Trader_Rookie_coinface.png"), linear-gradient(rgba(255, 255, 255, 0), rgba(0, 0, 0, 0.4));
background-size: cover;
transform: translateZ(-3px) rotateY(180deg);
}
.coin__edge div:nth-child(1) {
position: absolute;
height: 3.925px;
width: 6px;
background: #171717;
transform: translateY(48.0375px) translateX(47px) rotateZ(94.5deg) translateX(50px) rotateY(90deg);
}
.coin__edge div:nth-child(2) {
position: absolute;
height: 3.925px;
width: 6px;
background: #212121;
transform: translateY(48.0375px) translateX(47px) rotateZ(99deg) translateX(50px) rotateY(90deg);
}
.coin__edge div:nth-child(3) {
position: absolute;
height: 3.925px;
width: 6px;
background: #2a2a2a;
transform: translateY(48.0375px) translateX(47px) rotateZ(103.5deg) translateX(50px) rotateY(90deg);
}
.coin__edge div:nth-child(4) {
position: absolute;
height: 3.925px;
width: 6px;
background: #343434;
transform: translateY(48.0375px) translateX(47px) rotateZ(108deg) translateX(50px) rotateY(90deg);
}
.coin__edge div:nth-child(5) {
position: absolute;
height: 3.925px;
width: 6px;
background: #3d3d3d;
transform: translateY(48.0375px) translateX(47px) rotateZ(112.5deg) translateX(50px) rotateY(90deg);
}
.coin__edge div:nth-child(6) {
position: absolute;
height: 3.925px;
width: 6px;
background: #464646;
transform: translateY(48.0375px) translateX(47px) rotateZ(117deg) translateX(50px) rotateY(90deg);
}
.coin__edge div:nth-child(7) {
position: absolute;
height: 3.925px;
width: 6px;
background: #4e4e4e;
transform: translateY(48.0375px) translateX(47px) rotateZ(121.5deg) translateX(50px) rotateY(90deg);
}
.coin__edge div:nth-child(8) {
position: absolute;
height: 3.925px;
width: 6px;
background: #565656;
transform: translateY(48.0375px) translateX(47px) rotateZ(126deg) translateX(50px) rotateY(90deg);
}
.coin__edge div:nth-child(9) {
position: absolute;
height: 3.925px;
width: 6px;
background: #5e5e5e;
transform: translateY(48.0375px) translateX(47px) rotateZ(130.5deg) translateX(50px) rotateY(90deg);
}
.coin__edge div:nth-child(10) {
position: absolute;
height: 3.925px;
width: 6px;
background: #666666;
transform: translateY(48.0375px) translateX(47px) rotateZ(135deg) translateX(50px) rotateY(90deg);
}
.coin__edge div:nth-child(11) {
position: absolute;
height: 3.925px;
width: 6px;
background: #6e6e6e;
transform: translateY(48.0375px) translateX(47px) rotateZ(139.5deg) translateX(50px) rotateY(90deg);
}
.coin__edge div:nth-child(12) {
position: absolute;
height: 3.925px;
width: 6px;
background: #757575;
transform: translateY(48.0375px) translateX(47px) rotateZ(144deg) translateX(50px) rotateY(90deg);
}
.coin__edge div:nth-child(13) {
position: absolute;
height: 3.925px;
width: 6px;
background: #7c7c7c;
transform: translateY(48.0375px) translateX(47px) rotateZ(148.5deg) translateX(50px) rotateY(90deg);
}
.coin__edge div:nth-child(14) {
position: absolute;
height: 3.925px;
width: 6px;
background: #838383;
transform: translateY(48.0375px) translateX(47px) rotateZ(153deg) translateX(50px) rotateY(90deg);
}
.coin__edge div:nth-child(15) {
position: absolute;
height: 3.925px;
width: 6px;
background: #898989;
transform: translateY(48.0375px) translateX(47px) rotateZ(157.5deg) translateX(50px) rotateY(90deg);
}
.coin__edge div:nth-child(16) {
position: absolute;
height: 3.925px;
width: 6px;
background: #909090;
transform: translateY(48.0375px) translateX(47px) rotateZ(162deg) translateX(50px) rotateY(90deg);
}
.coin__edge div:nth-child(17) {
position: absolute;
height: 3.925px;
width: 6px;
background: #969696;
transform: translateY(48.0375px) translateX(47px) rotateZ(166.5deg) translateX(50px) rotateY(90deg);
}
.coin__edge div:nth-child(18) {
position: absolute;
height: 3.925px;
width: 6px;
background: #9b9b9b;
transform: translateY(48.0375px) translateX(47px) rotateZ(171deg) translateX(50px) rotateY(90deg);
}
.coin__edge div:nth-child(19) {
position: absolute;
height: 3.925px;
width: 6px;
background: #a1a1a1;
transform: translateY(48.0375px) translateX(47px) rotateZ(175.5deg) translateX(50px) rotateY(90deg);
}
.coin__edge div:nth-child(20) {
position: absolute;
height: 3.925px;
width: 6px;
background: #a6a6a6;
transform: translateY(48.0375px) translateX(47px) rotateZ(180deg) translateX(50px) rotateY(90deg);
}
.coin__edge div:nth-child(21) {
position: absolute;
height: 3.925px;
width: 6px;
background: #ababab;
transform: translateY(48.0375px) translateX(47px) rotateZ(184.5deg) translateX(50px) rotateY(90deg);
}
.coin__edge div:nth-child(22) {
position: absolute;
height: 3.925px;
width: 6px;
background: #b0b0b0;
transform: translateY(48.0375px) translateX(47px) rotateZ(189deg) translateX(50px) rotateY(90deg);
}
.coin__edge div:nth-child(23) {
position: absolute;
height: 3.925px;
width: 6px;
background: #b4b4b4;
transform: translateY(48.0375px) translateX(47px) rotateZ(193.5deg) translateX(50px) rotateY(90deg);
}
.coin__edge div:nth-child(24) {
position: absolute;
height: 3.925px;
width: 6px;
background: #b8b8b8;
transform: translateY(48.0375px) translateX(47px) rotateZ(198deg) translateX(50px) rotateY(90deg);
}
.coin__edge div:nth-child(25) {
position: absolute;
height: 3.925px;
width: 6px;
background: #bcbcbc;
transform: translateY(48.0375px) translateX(47px) rotateZ(202.5deg) translateX(50px) rotateY(90deg);
}
.coin__edge div:nth-child(26) {
position: absolute;
height: 3.925px;
width: 6px;
background: silver;
transform: translateY(48.0375px) translateX(47px) rotateZ(207deg) translateX(50px) rotateY(90deg);
}
.coin__edge div:nth-child(27) {
position: absolute;
height: 3.925px;
width: 6px;
background: #c3c3c3;
transform: translateY(48.0375px) translateX(47px) rotateZ(211.5deg) translateX(50px) rotateY(90deg);
}
.coin__edge div:nth-child(28) {
position: absolute;
height: 3.925px;
width: 6px;
background: #c7c7c7;
transform: translateY(48.0375px) translateX(47px) rotateZ(216deg) translateX(50px) rotateY(90deg);
}
.coin__edge div:nth-child(29) {
position: absolute;
height: 3.925px;
width: 6px;
background: #cacaca;
transform: translateY(48.0375px) translateX(47px) rotateZ(220.5deg) translateX(50px) rotateY(90deg);
}
.coin__edge div:nth-child(30) {
position: absolute;
height: 3.925px;
width: 6px;
background: #cccccc;
transform: translateY(48.0375px) translateX(47px) rotateZ(225deg) translateX(50px) rotateY(90deg);
}
.coin__edge div:nth-child(31) {
position: absolute;
height: 3.925px;
width: 6px;
background: #cfcfcf;
transform: translateY(48.0375px) translateX(47px) rotateZ(229.5deg) translateX(50px) rotateY(90deg);
}
.coin__edge div:nth-child(32) {
position: absolute;
height: 3.925px;
width: 6px;
background: #d1d1d1;
transform: translateY(48.0375px) translateX(47px) rotateZ(234deg) translateX(50px) rotateY(90deg);
}
.coin__edge div:nth-child(33) {
position: absolute;
height: 3.925px;
width: 6px;
background: lightgray;
transform: translateY(48.0375px) translateX(47px) rotateZ(238.5deg) translateX(50px) rotateY(90deg);
}
.coin__edge div:nth-child(34) {
position: absolute;
height: 3.925px;
width: 6px;
background: #d4d4d4;
transform: translateY(48.0375px) translateX(47px) rotateZ(243deg) translateX(50px) rotateY(90deg);
}
.coin__edge div:nth-child(35) {
position: absolute;
height: 3.925px;
width: 6px;
background: #d6d6d6;
transform: translateY(48.0375px) translateX(47px) rotateZ(247.5deg) translateX(50px) rotateY(90deg);
}
.coin__edge div:nth-child(36) {
position: absolute;
height: 3.925px;
width: 6px;
background: #d7d7d7;
transform: translateY(48.0375px) translateX(47px) rotateZ(252deg) translateX(50px) rotateY(90deg);
}
.coin__edge div:nth-child(37) {
position: absolute;
height: 3.925px;
width: 6px;
background: #d8d8d8;
transform: translateY(48.0375px) translateX(47px) rotateZ(256.5deg) translateX(50px) rotateY(90deg);
}
.coin__edge div:nth-child(38) {
position: absolute;
height: 3.925px;
width: 6px;
background: #d8d8d8;
transform: translateY(48.0375px) translateX(47px) rotateZ(261deg) translateX(50px) rotateY(90deg);
}
.coin__edge div:nth-child(39) {
position: absolute;
height: 3.925px;
width: 6px;
background: #d9d9d9;
transform: translateY(48.0375px) translateX(47px) rotateZ(265.5deg) translateX(50px) rotateY(90deg);
}
.coin__edge div:nth-child(40) {
position: absolute;
height: 3.925px;
width: 6px;
background: #d9d9d9;
transform: translateY(48.0375px) translateX(47px) rotateZ(270deg) translateX(50px) rotateY(90deg);
}
.coin__edge div:nth-child(41) {
position: absolute;
height: 3.925px;
width: 6px;
background: #d9d9d9;
transform: translateY(48.0375px) translateX(47px) rotateZ(274.5deg) translateX(50px) rotateY(90deg);
}
.coin__edge div:nth-child(42) {
position: absolute;
height: 3.925px;
width: 6px;
background: #d8d8d8;
transform: translateY(48.0375px) translateX(47px) rotateZ(279deg) translateX(50px) rotateY(90deg);
}
.coin__edge div:nth-child(43) {
position: absolute;
height: 3.925px;
width: 6px;
background: #d8d8d8;
transform: translateY(48.0375px) translateX(47px) rotateZ(283.5deg) translateX(50px) rotateY(90deg);
}
.coin__edge div:nth-child(44) {
position: absolute;
height: 3.925px;
width: 6px;
background: #d7d7d7;
transform: translateY(48.0375px) translateX(47px) rotateZ(288deg) translateX(50px) rotateY(90deg);
}
.coin__edge div:nth-child(45) {
position: absolute;
height: 3.925px;
width: 6px;
background: #d6d6d6;
transform: translateY(48.0375px) translateX(47px) rotateZ(292.5deg) translateX(50px) rotateY(90deg);
}
.coin__edge div:nth-child(46) {
position: absolute;
height: 3.925px;
width: 6px;
background: #d4d4d4;
transform: translateY(48.0375px) translateX(47px) rotateZ(297deg) translateX(50px) rotateY(90deg);
}
.coin__edge div:nth-child(47) {
position: absolute;
height: 3.925px;
width: 6px;
background: lightgray;
transform: translateY(48.0375px) translateX(47px) rotateZ(301.5deg) translateX(50px) rotateY(90deg);
}
.coin__edge div:nth-child(48) {
position: absolute;
height: 3.925px;
width: 6px;
background: #d1d1d1;
transform: translateY(48.0375px) translateX(47px) rotateZ(306deg) translateX(50px) rotateY(90deg);
}
.coin__edge div:nth-child(49) {
position: absolute;
height: 3.925px;
width: 6px;
background: #cfcfcf;
transform: translateY(48.0375px) translateX(47px) rotateZ(310.5deg) translateX(50px) rotateY(90deg);
}
.coin__edge div:nth-child(50) {
position: absolute;
height: 3.925px;
width: 6px;
background: #cccccc;
transform: translateY(48.0375px) translateX(47px) rotateZ(315deg) translateX(50px) rotateY(90deg);
}
.coin__shadow {
position: absolute;
width: 100px;
height: 6px;
border-radius: 50%;
background: #000;
box-shadow: 0 0 30px 42px #000;
opacity: 0.125;
transform: rotateX(90deg) translateZ(-110px) scale(0.5);
}
@keyframes rotate3d {
0% {
transform: perspective(1000px) rotateY(0deg);
}
100% {
transform: perspective(1000px) rotateY(360deg);
}
}
@keyframes shine {
0%, 25% {
transform: translateY(200px) rotate(-40deg);
}
50% {
transform: translateY(-100px) rotate(-40deg);
}
}