我正在尝试使用 Webkit 对 CSS3 的支持,使用
最终效果应该经历以下 4 个阶段的过渡,并最终变成一条水平线:
上面的matrix3d是基于阅读this SO question而得出的,但它会产生一个翻转的正方形,围绕由初始框底部定义的x轴缩小。
我理解CSS 2D矩阵只能通过对盒子进行变换来产生矩形和平行四边形,而不规则形状需要使用matrix3d变换操作(this对我恢复了线性代数的记忆!),但我似乎只能制作矩形和平行四边形。
我查看了一些带有
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是基于阅读this SO question而得出的,但它会产生一个翻转的正方形,围绕由初始框底部定义的x轴缩小。
我理解CSS 2D矩阵只能通过对盒子进行变换来产生矩形和平行四边形,而不规则形状需要使用matrix3d变换操作(this对我恢复了线性代数的记忆!),但我似乎只能制作矩形和平行四边形。
我查看了一些带有
matrix
和transformation
标签的SO问题。大多数都不是基于CSS的,我无法获得所需的变换。