Я пытаюсь использовать поддержку webkit для CSS3 transform: matrix3d(<matrix>)
, чтобы создать эффект «падающей карты».(Единственная цель для вывода этого - Chrome)
Конечный эффект должен переходить через 4 этапа ниже и заканчиваться просто горизонтальной линией:
Вот CSS, который у меня сейчас есть:
#test {
margin: auto auto;
height: 200px;
width: 200px;
border:1px solid black;
background-color: lightblue;
-webkit-perspective: 1000;
-webkit-transform-origin: 50% 100%;
-webkit-transform-style: preserve-3d;
-webkit-animation-name: flip-card;
-webkit-animation-duration: 1s;
-webkit-animation-iteration-count: infinite;
-webkit-animation-timing-function: linear;
-webkit-box-shadow: 0px 5px 20px rgba(0, 0, 0, 0.5);
}
@-webkit-keyframes flip-card {
0% {-webkit-transform: ;}
100% {-webkit-transform:
matrix3d(1, 0, 0, 0,
0, 1, 0, 0,
0, 0, 0, 0,
0, 0, 0.001, 1);}
}
И HTML-код прост для тестирования:
<body>
<div id="test">this div should fall forward...</div>
</body>
Matrix3d в приведенном выше примере основан на чтении этого ТАвопрос , но он дает уменьшающийся квадрат, который переворачивается вокруг оси x, определяемой нижней частью начального блока.
Я понимаю, что матрица CSS 2d может создавать прямоугольники и параллелограммы только путем преобразования блокаи что неправильные формы нуждаются в операции преобразования matrix3d ( эта была полезна для обновления моей линейной алгебры с угасанием!), но я, похоже, могу только создавать прямоугольники и параллелограммы.
* 1022осмотрел некоторые вопросы SO, помеченные
matrix
и
transformation
.Большинство из них не основаны на CSS, и я не смог получить нужное преобразование.