我一直在玩动画 CSS3 媒体查询,是的,我知道它们的实际使用是有问题的,但它很有趣。无论如何,我可以在浏览器调整大小时让框/div/选择器转换/扩展/收缩等,但我在转换时遇到问题。我想要做的是使 div 翻转或以某些分辨率旋转。
可以将其想象为 iPad 从横向变为纵向,并在发生这种情况时翻转 div。
这实际上可能吗?如果是的话,我错过了什么/做错了什么?
我一直在玩动画 CSS3 媒体查询,是的,我知道它们的实际使用是有问题的,但它很有趣。无论如何,我可以在浏览器调整大小时让框/div/选择器转换/扩展/收缩等,但我在转换时遇到问题。我想要做的是使 div 翻转或以某些分辨率旋转。
可以将其想象为 iPad 从横向变为纵向,并在发生这种情况时翻转 div。
这实际上可能吗?如果是的话,我错过了什么/做错了什么?
您是否尝试过使用媒体查询?
.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 。
好的,我现在可以工作了。基于 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。