0
我無法在Internet Explorer 11和Firefox 34.0中顯示所有內容。我有雙重和三重檢查的前綴,並確保有一切的價值。3D透視圖在Firefox 34.0或Internet Explorer 11中無法正確顯示
如果這不起作用,我只能找到另一個可以跨瀏覽器工作的解決方案,但我已經做了很多工作,使它適合我的網站。
更新:我知道它在Firefox上工作。這是一個沒有添加到.pyramid外部選擇器的-moz前綴。然而,現在,我正在以「+」模式在金字塔之上劃出線條。有沒有辦法來減輕這一點?我也在IE 11中看到了一個簡單的三角形,但我仍然無法保存3D。
Updated Screenshot in Firefox 34.0
.pyramid, .pyramid-outer, .pyramid-inner {
-webkit-transform-style: preserve-3d;
-moz-transform-style: preserve-3d;
-ms-transform-style: preserve-3d;
transform-style: preserve-3d;
}
.viewport {
width: 500px;
height: 200px;
margin-left: auto;
margin-right: auto;
position: relative;
top: -200px;
-webkit-perspective: 1000px;
-moz-perspective: 1000px;
-o-perspective: 1000px;
perspective: 800px;
-webkit-perspective-origin: 50% 150%;
-moz-perspective-origin: 50% 150%;
-o-perspective-origin: 50% 150%;
-ms-perspective-origin: 50% 150%;
perspective-origin: 50% 150%;
}
.pyramid {
width: 100px;
height: 100px;
position: absolute;
/*-webkit-transform: rotateY(45deg);*/
}
.pyramid-outer {
-webkit-transform: translate3d(200px, 250px, 400px) rotateX(-22deg);
}
.pyramid-base, .pyramid-face {
opacity: 0.5;
position: absolute;
}
.pyramid-base {
width: 100px;
height: 100px;
background-color: #ff0000;
background-image: url(http://romanliutikov.com/lab/css3-3d-primitives/img.png);
-webkit-transform: rotateX(90deg) translate3d(0, 0, -23px);
-moz-transform: rotateX(90deg) translate3d(0, 0, -23px);
-o-transform: rotateX(90deg) translate3d(0, 0, -23px);
-ms-transform: rotateX(90deg) translate3d(0, 0, -23px);
transform: rotateX(90deg) translate3d(0, 0, -23px);
}
.pyramid-face {
width: 0;
height: 0;
border-left:50px solid transparent;
border-right:50px solid transparent;
-webkit-transform-origin: 50% 87%;
-moz-transform-origin: 50% 87%;
-o-transform-origin: 50% 87%;
-ms-transform-origin: 50% 87%;
transform-origin: 50% 87%;
}
.pyramid-face:nth-child(2) {
border-bottom:100px solid #e04545;
-webkit-transform: rotateX(30deg) translate3d(0, 0, 50px);
-moz-transform: rotateX(30deg) translate3d(0, 0, 50px);
-o-transform: rotateX(30deg) translate3d(0, 0, 50px);
-ms-transform: rotateX(30deg) translate3d(0, 0, 50px);
transform: rotateX(30deg) translate3d(0, 0, 50px);
}
.pyramid-face:nth-child(3) {
border-bottom:100px solid #FFFF99;
-webkit-transform: rotateY(90deg) rotateX(-30deg) translate3d(0, 0, -50px);
-moz-transform: rotateY(90deg) rotateX(-30deg) translate3d(0, 0, -50px);
-o-transform: rotateY(90deg) rotateX(-30deg) translate3d(0, 0, -50px);
-ms-transform: rotateY(90deg) rotateX(-30deg) translate3d(0, 0, -50px);
transform: rotateY(90deg) rotateX(-30deg) translate3d(0, 0, -50px);
}
.pyramid-face:nth-child(4) {
border-bottom:100px solid #97c25f;
-webkit-transform: rotateY(90deg) rotateX(30deg) translate3d(0, 0, 50px);
-moz-transform: rotateY(90deg) rotateX(30deg) translate3d(0, 0, 50px);
-o-transform: rotateY(90deg) rotateX(30deg) translate3d(0, 0, 50px);
-ms-transform: rotateY(90deg) rotateX(30deg) translate3d(0, 0, 50px);
transform: rotateY(90deg) rotateX(30deg) translate3d(0, 0, 50px);
}
.pyramid-face:nth-child(5) {
border-bottom:100px solid #4ccfc8;
-webkit-transform: rotateX(-30deg) translate3d(0, 0, -50px);
-moz-transform: rotateX(-30deg) translate3d(0, 0, -50px);
-o-transform: rotateX(-30deg) translate3d(0, 0, -50px);
-ms-transform: rotateX(-30deg) translate3d(0, 0, -50px);
transform: rotateX(-30deg) translate3d(0, 0, -50px);
}
.pyramid {
-webkit-animation: cube 8s linear infinite;
-ms-animation: cube 8s linear infinite;
-o-animation: cube 8s linear infinite;
animation: cube 8s linear infinite;
}
@-webkit-keyframes cube {
0% {}
100% {-webkit-transform: rotateY(360deg); }
}
@-o-keyframes cube {
0% {}
100% {-o-transform: rotateY(360deg); }
}
@-ms-keyframes cube {
0% {}
100% {-ms-transform: rotateY(360deg); }
}
@keyframes cube {
0% {}
100% {transform: rotateY(360deg); }
}
我看到這個在微軟的網站上,但我不知道如何正確地運用它,因爲我已經試過:「注:W3C規範定義保存-3D的關鍵字值這個屬性,這意味着沒有執行扁平化,此時Internet Explorer 10不支持preserve-3d關鍵字,除了子元素的常規變換之外,還可以通過手動將父元素的變換應用於每個子元素來解決此問題「。 – srob 2014-12-08 17:13:31
該說明是不真誠的。複製保存-3D效果所需的數學成熟度非常高。這不僅僅是一個簡單的矩陣乘法。 – 2014-12-08 17:20:48
啊,非常感謝您的幫助。我設法使用不同的設置得到不同的結果,但是他們沒有一個甚至接近我正在尋找的結果。 – srob 2014-12-08 20:18:16