2015-03-29 19 views
10

Mã sau hoạt động trong tất cả các trình duyệt ngoại trừ IE.10.Internet Explorer Bảo tồn sửa lỗi 3D

trang web MSDN nói như sau (mà tôi không hiểu làm thế nào để áp dụng):

Lưu ý Các đặc điểm kỹ thuật W3C định nghĩa một giá trị từ khóa của bảo tồn-3d cho thuộc tính này, mà chỉ ra rằng làm phẳng không được thực hiện. Tại thời điểm này, Internet Explorer 10 không hỗ trợ từ khóa bảo toàn-3d. Bạn có thể làm việc xung quanh điều này bằng cách áp dụng thủ công phép biến đổi của phần tử cha cho mỗi phần tử con ngoài phép biến đổi bình thường của phần tử con.

https://msdn.microsoft.com/en-gb/library/ie/hh673529(v=vs.85).aspx

Mã của tôi (Tôi đang sử dụng bộ chọn CSS vì những lý do khác):

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>

Ông có thể vui lòng giúp tôi với điều này?

Rất cám ơn!

+0

Tôi đã có phản hồi rất tốt với câu hỏi rất giống http://stackoverflow.com/questions/13474210/css3-3d-flip-animation-ie10-transform-origin-preserve-3d-workaround – 2ne

+0

Bạn có nhận được điều này không đang làm việc? Tôi đang gặp vấn đề tương tự. –

Trả lời

3

Internet Explorer 10 và 11 chỉ hỗ trợ một phần chuyển đổi 3D. (Các phiên bản cũ của Internet Explorer không hỗ trợ thuộc tính này).


Internet Explorer 10 và 11 'chỉ có hỗ trợ một phần' vì:

không hỗ trợ các phong cách transform-: giữ gìn-3d bất động sản. Điều này ngăn cản các yếu tố chuyển đổi 3D lồng nhau.


further Reading

Khách sạn này được đề nghị được thực hiện trong các phiên bản tiếp theo của trình duyệt, vì vậy tiếc là IE hiện tại không thực sự hỗ trợ bất kỳ chức năng 3D 'tốt' hay 'phức tạp'.

Vì IE sẽ 'bỏ qua' thuộc tính này, bạn có thể hiển thị thông báo biểu ngữ để thông báo cho người dùng sử dụng Chrome hoặc Firefox để có trải nghiệm tốt hơn (điều đó cũng có nghĩa là bạn sẽ phải triển khai ít trình duyệt hơn để hỗ trợ IE chung).


Trong câu trả lời cho câu hỏi của bạn

Lưu ý Các đặc điểm kỹ thuật W3C định nghĩa một giá trị từ khóa của bảo tồn-3d cho khách sạn này, mà chỉ ra rằng làm phẳng không được thực hiện. Tại lần này, Internet Explorer 10 không hỗ trợ từ khóa bảo vệ-3d . Bạn có thể làm việc xung quanh điều này bằng cách áp dụng thủ công việc chuyển đổi phần tử của phụ huynh cho từng phần tử con ngoài biến đổi bình thường của phần tử con của phần tử con.

Điều này gợi ý áp dụng biến đổi của phụ huynh theo cách thủ công trên phần tử con. Vì vậy, các biến đổi 3d ghi trên cha mẹ của bạn (.flip1) cũng nên được đặt trên (các) yếu tố con của bạn (.back.front).

1

trong tất cả các phiên bản IE preserve-3d KHÔNG làm việc

bạn có thể áp dụng một chuyển đổi 3D cho bất kỳ phần tử. nhưng nếu đó là cha mẹ cũng được chuyển đổi 3D thì chuyển đổi sẽ KHÔNG hoạt động. nguyên tố này sẽ được san phẳng

nên IE10 hoặc IE11 = không có niềm vui trong không gian 3D ..

trên http://caniuse.com/ họ nói rằng preserve-3d sẽ làm việc trong phiên bản IE tiếp theo. nhưng hiện tại không phải

Các vấn đề liên quan