以下代码适用于除IE.10以外的所有浏览器。
MSDN网站上说如下(我不明白如何申请):注意W3C规范为此属性定义了preserve-3d的关键字值,表示不执行展平。目前,Internet Explorer 10不支持preserve-3d关键字。除了子元素的正常变换之外,您还可以通过手动将父元素的变换应用于每个子元素来解决此问题。
https://msdn.microsoft.com/en-gb/library/ie/hh673529(v=vs.85).aspx
我的代码(我出于其他原因使用CSS选择器):
div[class^="flip"] {
display: inline-block;
}
div[class^="flip"] {
-webkit-perspective: 800;
-moz-perspective: 800;
-ms-perspective: 800;
-o-perspective: 800;
perspective: 800;
width: 313px;
height: 480px;
position: relative;
margin-right: 10px;
margin-left: 10px;
}
div[class^="flip"] .card.flipped {
-webkit-transform: rotatey(-180deg);
-moz-transform: rotatey(-180deg);
-o-transform: rotatey(-180deg);
transform: rotatey(-180deg);
}
div[class^="flip"] .card {
width: 100%;
height: 100%;
-webkit-transform-style: preserve-3d;
-moz-transform-style: preserve-3d;
-o-transform-style: preserve-3d;
transform-style: preserve-3d;
-webkit-transition: 0.5s;
-moz-transition: 0.5s;
-o-transition: 0.5s;
transition: 0.5s;
}
div[class^="flip"] .card .face {
width: 100%;
height: 100%;
position: absolute;
-webkit-backface-visibility: hidden;
-moz-backface-visibility: hidden;
-o-backface-visibility: hidden;
backface-visibility: hidden;
z-index: 2;
text-align: center;
}
div[class^="flip"] .card .front {
position: absolute;
z-index: 1;
background: #F5F5F5;
border: #DDD 1px solid;
}
div[class^="flip"] .card .back {
-webkit-transform: rotatey(-180deg);
-moz-transform: rotatey(-180deg);
-o-transform: rotatey(-180deg);
transform: rotatey(-180deg);
background: #F5F5F5;
border: #DDD 1px solid;
}
<div class="flip1">
<div class="card">
<div class="face front">Front content</div>
<div class="face back">Back content</div>
</div>
</div>
你能帮帮我吗?
答案 0 :(得分:3)
Internet Explorer 10和11仅部分支持3D转换。 (较早版本的Internet Explorer 不支持此属性)。
Internet Explorer 10和11&#39;只有部分支持&#39;这是因为:
不支持transform-style:preserve-3d属性。这个 防止嵌套3D转换元素。
建议在下一版本的Internet Explorer中实现此属性,所以不幸的是,目前的IE并不能真正支持任何“好”的版本。或者&#39;复杂的&#39; 3D功能。
因为IE会忽略&#39;此属性,您可以显示横幅消息,以通知用户使用Chrome或Firefox获得更好的体验(这也意味着您将不得不实施更少的浏览器黑客来支持IE)。
注意W3C规范定义了preserve-3d的关键字值 此属性,表示不执行展平。在 这次,Internet Explorer 10不支持preserve-3d 关键词。您可以通过手动应用父级来解决此问题 元素除了转换为每个子元素之外 子元素的正常变换。
这表示在子元素上手动应用父变换。因此,您的父级(.flip1
)上声明的3d变换也应该放在您的子元素(.back
和.front
)上。
答案 1 :(得分:2)
在IE的所有版本中,preserve-3d
不起作用。在Microsoft Edge中,确实如此。
您可以对任何元素应用3D变换,但如果它的父变换也是3D变换,那么变换将不起作用;该元素将被夷为平地
所以IE10或IE11 = 3D没有乐趣。