我正在构建一个简单的旋转面板,使用css3转换以及一个超级简单的jQuery函数来切换旋转面板的类。我已经尽了最大的努力设置了供应商前缀(通过手动和使用自动化前缀服务),使Safari和Firefox更加快乐,但是,事实并非如此。
在Safari中,文字和按钮在面板旋转后消失。
在Chrome中,旋转面板后内容会延迟显示。旋转面板--CSS过渡突破在Safari和Chrome - 供应商前缀不完全有效
更新:此处的解决方案Backface-Visibility Not Working Properly in Firefox (Works in Safari)虽然相似,但不能解决问题,也无法找到其他任何答案。
body {
font-family: sans-serif;
padding-top: 30px;
background-color: #fff;
}
#card {
background-color: #f9f9f9;
width: 100%;
height: 100%;
-webkit-transform: translateZ(0px);
transform: translateZ(0px);
-webkit-transition: -webkit-transform .7s, margin .4s;
transition: transform .7s, margin .4s;
-webkit-transform-style: preserve-3d;
transform-style: preserve-3d;
position: absolute;
border: 1px solid black;
border-radius: 6px;
}
#card.flipped {
-webkit-transform: rotateY(180deg);
transform: rotateY(180deg);
}
#card figure {
margin: 0;
display: block;
position: absolute;
width: 100%;
height: 100%;
-webkit-backface-visibility: hidden;
backface-visibility: hidden;
}
#card .back {
-webkit-transform: rotateY(180deg);
transform: rotateY(180deg);
}
.container {
-webkit-perspective: 2000px;
perspective: 2000px;
width: 320px;
height:300px;
position: relative;
margin: 0 auto;
z-index: 100;
}
figure > div {
padding: 12px;
}
.link {
background: #dfdfdf;
color: #006BA5;
cursor: pointer;
outline: none;
}
.link:hover {
border: none;
background: #006BA5;
color: #fff;
cursor: pointer;
}
button {
display: block;
margin-bottom: 20px;
padding: 10px;
min-width: 100px;
border-radius: 3px;
border: 1px solid black;
}
我所有的文件都可以在这个回购/分支中找到:https://github.com/NickTerrafranca/Rotating-Panel/tree/cross_browser
提前很多感谢!
寻求代码帮助的问题必须包含所需的行为,特定的问题或错误以及在问题本身**中重现**所需的最短代码。请参阅[**如何创建一个最小化,完整和可验证的示例**](http://stackoverflow.com/help/mcve) –
*使Safari和Firefox很开心,*这是不正确的。为此,Firefox不需要供应商前缀。不过,我了解你的问题。小提琴在这里(你应该在我之前,但你没有):http://jsfiddle.net/tt9yvq5z/ –
请注意,这:http://desandro.github.io/3dtransforms/examples/card-01 .html在Firefox中完美运行。你可以看到当前的规范:https://developer.mozilla.org/es/docs/Web/CSS/backfacevisual#Browser_compatibility这是实验性的,状态是** working draft **。 Firefox无罪。但也许有一个错误 –