CSS transitions - rotateX 只是改变我的元素的大小

CSS transitions - rotateX is just changing the size of my element

我对 CSS 转换有疑问。 我的网站 (here) 上有两个按钮,当鼠标按住它时,它们应该被推回到底部,就像在 Windows 8 开始菜单上一样。 相反,发生的事情是它只是改变了我的元素的大小,就像 2D 过渡一样,我能注意到的任何 3D 都是元素被推回到顶部。即使我将度数设置为正数或负数,这也没有什么不同。 如果有人可以帮助我,我将不胜感激,谢谢。 :)

,#metroicons 是容器,.metro 是我要旋转 3d 的元素,.metro img 是 div 内的图像,而 .metro div 是元素。你可以自己看看here.

#metroicons {
    padding-left: 5px;
    padding-top: 5px;
    perspective: 1000;
}

.metro {
    display: inline-block;
    height: 120px;
    transform-style: preserve-3d;
    transition: transform 0.25s linear;
    box-shadow: 5px 5px 30px #000;
}
.metro:active {
    transform: rotateX(40deg);
}
.metro img {
    width: 30%;
    height: 45%;
    margin-left: 35%;
    margin-top: 13%;
}
.metro div {
    font-family: Segoe UI, Frutiger, Frutiger Linotype, Dejavu Sans, Helvetica Neue, Arial, sans-serif;
    color: #fff;
    font-size: 14px;
    margin-left: 5px;
    margin-top: 15px;
}

让你开始。

<div class="tile">
</div>

div.tile {
    width:100px;
    height:100px;
    margin:20px;
    background:red;
    -webkit-animation: example 0.75s ease 0s infinite alternate;
}
@-webkit-keyframes example {
    from {
       -webkit-transform: perspective(300) rotateX(-45deg);
       -webkit-transform-origin: 0% 0%;
    }
    to {
       -webkit-transform: perspective(300) rotateX(0deg);
        -webkit-transform-origin: 0% 0%;
    }
}

https://jsfiddle.net/5x0uunkz/