Tôi có thể nói rằng điều này không rõ ràng. (bất cứ điều gì Microsoft nói). Việc làm phẳng phần tử con không thể hoàn tác khi áp dụng các biến đổi tiếp theo. Xem các bản demo sau:
fiddle
với HTML:
<div class="base" id="base1">Base1
<div class="inner" id="inner1">1</div>
<div class="inner" id="inner2">2</div>
<div class="inner" id="inner3">3</div>
<div class="inner" id="inner4">4</div>
<div class="inner" id="inner5">5</div>
<div class="inner" id="inner6">6</div>
<div class="inner" id="inner7">7</div>
<div class="inner" id="inner8">8</div>
<div class="inner" id="inner9">9</div>
</div>
<div class="base" id="base2">Base2
<div class="inner" id="inner1">1</div>
<div class="inner" id="inner2">2</div>
<div class="inner" id="inner3">3</div>
<div class="inner" id="inner4">4</div>
<div class="inner" id="inner5">5</div>
<div class="inner" id="inner6">6</div>
<div class="inner" id="inner7">7</div>
<div class="inner" id="inner8">8</div>
<div class="inner" id="inner9">9</div>
</div>
<div class="base" id="base3">Base3
<div class="inner" id="inner1">1</div>
<div class="inner" id="inner2">2</div>
<div class="inner" id="inner3">3</div>
<div class="inner" id="inner4">4</div>
<div class="inner" id="inner5">5</div>
<div class="inner" id="inner6">6</div>
<div class="inner" id="inner7">7</div>
<div class="inner" id="inner8">8</div>
<div class="inner" id="inner9">9</div>
</div>
và CSS:
.base {
width: 200px;
height: 250px;
display: block;
-webkit-transform: rotatey(-45deg);
transform: rotatey(-45deg);
border: solid 2px black;
}
#base1 {
-webkit-transform-style: preserve-3d;
}
#base2 {
left: 300px;
top: 0px;
position: absolute;
}
#base3 {
left: 600px;
top: 0px;
position: absolute;
-webkit-transform: rotatey(-88deg);
transform: rotatey(-88deg);
-webkit-transform-style: preserve-3d;
}
.inner {
border: solid 1px black;
height: 20px;
background-color: red;
}
#inner1 {
-webkit-transform: rotatey(0deg);
transform: rotatey(0deg);
}
#inner2 {
-webkit-transform: rotatey(20deg);
transform: rotatey(20deg);
}
#inner3 {
-webkit-transform: rotatey(40deg);
transform: rotatey(40deg);
}
#inner4 {
-webkit-transform: rotatey(60deg);
transform: rotatey(60deg);
}
#inner5 {
-webkit-transform: rotatey(80deg);
transform: rotatey(80deg);
}
#inner6 {
-webkit-transform: rotatey(100deg);
transform: rotatey(100deg);
}
#inner7 {
-webkit-transform: rotatey(120deg);
transform: rotatey(120deg);
}
#inner8 {
-webkit-transform: rotatey(140deg);
transform: rotatey(140deg);
}
#inner9 {
-webkit-transform: rotatey(160deg);
transform: rotatey(160deg);
}
Điều đó tạo ra một cơ sở div xoay -45 DEG. Một số div được đặt trên cái này, với các góc xoay khác nhau. Trong loạt đầu tiên, nhìn thấy trong một trình duyệt webkit, có một góc cho đứa trẻ cung cấp cho anh ta vị trí nằm ngang và do đó kích thước ban đầu (rộng hơn so với cha mẹ, được xoay). Trong loạt thứ hai, không có bảo quản 3d, trẻ em không thể exced kích thước cha mẹ (rõ ràng). Loạt thứ ba là một ví dụ ở góc: ở một góc gần 90 độ, cha mẹ biến mất, nhưng các em vẫn còn nhìn thấy được.
Điều này không hoạt động trong IE, chứng tỏ rằng không thể tìm ra một góc khôi phục thuộc tính bảo toàn-3d.
Vâng, đó là hoạt động. Tuy nhiên, nếu bạn cố gắng tạo ra một hình ảnh động xoay để hiển thị tất cả các hình khối phải đối mặt với một hình khối khác, nó không hoạt động như mong đợi bởi vì các khuôn mặt allways dường như đi theo cách ngắn nhất để quay vòng mới của chúng. – gang
Đúng, các phép biến đổi được tính toán thành một ma trận3d, khi sử dụng hoạt ảnh css hoặc các hiệu ứng chuyển tiếp các khuôn mặt được đan xen giữa 2 ma trận. Cách giải quyết khác là tạo kiểu chuyển đổi cho mọi khuôn mặt trong javascript cho mọi khung hình của hoạt ảnh.Bạn * có thể * làm cho nó hoạt động trong IE10 & 11, nhưng không có nghĩa là bạn * nên *. Phải mất rất nhiều nỗ lực. –