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

时间:2015-03-15 10:24:21

标签: css rotation size 2d transitions

我遇到了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;
}

1 个答案:

答案 0 :(得分:-1)

让你入门。

<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/