在浏览器调整大小时触发CSS3转换

时间:2012-02-08 13:57:31

标签: jquery css3 media-queries css-transitions css-transforms

我一直在玩动画CSS3媒体查询,是的我知道他们的实际用途值得怀疑但很有趣。无论如何,我可以在浏览器调整大小时获得{/ 3}}等方框/ div /选择器,但我遇到转换问题。我想要做的是在特定分辨率下进行div翻转或旋转。

将其视为iPad从风景转变为肖像,并在发生这种情况时翻转div。

这实际上是否可行,如果可以,我错过了什么/做错了什么?

2 个答案:

答案 0 :(得分: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 here放在一起。

答案 1 :(得分:1)

好的,我现在就开始工作了。根据后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。