4

我一直在玩动画 CSS3 媒体查询,是的,我知道它们的实际使用是有问题的,但它很有趣。无论如何,我可以在浏览器调整大小时让框/div/选择器转换/扩展/收缩等,但我在转换时遇到问题。我想要做的是使 div 翻转或以某些分辨率旋转。

可以将其想象为 iPad 从横向变为纵向,并在发生这种情况时翻转 div。

这实际上可能吗?如果是的话,我错过了什么/做错了什么?

4

2 回答 2

1

您是否尝试过使用媒体查询?

.test{
        background-color: blue; 
        -webkit-transform: rotate(360deg); 
        -moz-transform: rotate(360deg);
        -ie-transform: rotate(360deg);
        transform: rotate(360deg);
        margin: -26px -26px -26px -26px;
}
@media screen and (min-width: 320px) and (max-width: 700px){
        .test{
                background-color: green; 
                -webkit-transform: rotate(360deg); 
                -moz-transform: rotate(360deg);
                -ie-transform: rotate(360deg);
                transform: rotate(360deg);
                margin: -26px -26px -26px -26px;
        }
}
@media screen and (min-width: 700px) and (max-width: 1200px){
        .test{
                background-color: red; 
                -webkit-transform: rotate(360deg); 
                -moz-transform: rotate(360deg);
                -ie-transform: rotate(360deg);
                transform: rotate(360deg);
                margin: -26px -26px -26px -26px;
        }
}

使用适当的(附加)转换,即Firefox等。它似乎可以工作。

我在这里放了一个 jsfiddle 。

于 2012-02-08T14:54:09.913 回答
1

好的,我现在可以工作了。基于 post-erasmus 的 css,我能够对其进行调整并使其 100% 正常工作。这是代码:

 .test{width: 400px; height: 200px; 
 -webkit-transform: rotate(0deg);
transition:all .2s linear;
-o-transition:all .2s linear;
-moz-transition:all .2s linear;
-webkit-transition:all .2s linear;
-webkit-transform-style: preserve-3d;
}

@media screen and (max-width: 319px){
    .test{
            background-color: orange;
            -moz-transform: rotate(360deg);
            -webkit-transform: rotate(360deg); 
    }
}

@media screen and (min-width: 320px) and (max-width: 700px){
    .test{
            background-color: green; 

    }
}
@media screen and (min-width: 701px) and (max-width: 1200px){
    .test{
            background-color: red; 
            -moz-transform: rotate(360deg);
            -webkit-transform: rotate(360deg); 

    }
}

@media screen and (min-width: 1201px){
    .test{
            background-color: blue;

    }   
}

当然,您需要添加其他供应商特定的前缀。为属性设置动画时,您需要指定开始和结束状态。因此,似乎省略转换会将属性重置为 0。

于 2012-02-08T15:46:46.983 回答