2011-12-31 19 views
6

Tôi đã chơi xung quanh với một số CSS3 + JavaScript ngày hôm nay.CSS3 + Javascript - Sẽ chuyển đổi -ms: độ mờ đục 1s dễ dàng-trong-ra; làm việc trong IE 10 một mình?

Dưới đây bạn có mã của tôi, (đã cố gắng để làm cho bộ sưu tập hình ảnh mờ dần nhỏ nhất thế giới, không biết tôi có thành công hay không).

Tôi không hoàn toàn chắc chắn cách đặt CSS. Xem các câu hỏi bình luận dưới đây:

-ms-transition:opacity 1s ease-in-out; // Will this allone work in IE 10?  
transition:opacity 1s ease-in-out; // Why do we set this? 

lẽ JS-Gallery nhỏ nhất thế giới:

<!DOCTYPE html> 
<html> 
<head> 
<meta charset="utf-8" /> 
<title>HB - CSS3 + JS Gallery</title> 
<meta charset="utf-8"> 
<style type="text/css"> 
body{margin:0;text-align:center;font:200px/500px georgia} 
#g{background:#000;margin:0 auto;width:960px;height:500px;overflow:hidden} 
#g div{ 
-webkit-transition:opacity 1s ease-in-out; 
-moz-transition:opacity 1s ease-in-out; 
-o-transition:opacity 1s ease-in-out; 
-ms-transition:opacity 1s ease-in-out;  
transition:opacity 1s ease-in-out; 
opacity:0;position:absolute;height:500px;width:960px;} 
</style> 
</head> 
<body> 
<div id="g"> 
<div style="background:#090">1</div> 
<div style="background:#096">2</div> 
<div style="background:#963">3</div> 
<div style="background:#CC0">4</div> 
</div> 
<script> 
function i(){c[a].style.opacity='1'}function o(){c[a].style.opacity='0'}var g=document.getElementById('g'),c=g.children,l=c.length-1,f=function(){if(a==l){o();a=0;i()}else{o();a++;i()}};a=0;i();setInterval(f,4000); 
</script> 
</body> 
</html> 
+0

Tôi sẽ nghĩ/hy vọng bạn cũng sẽ thiết lập thuộc tính chuyển đổi của nhà cung cấp cụ thể (moz/o/webkit) vì tất cả các trình duyệt hiện đại đều có thể thực hiện chuyển đổi trong nhiều năm. – Rob

+0

Rob, Cảm ơn bạn đã bình luận. Tôi không bờ, tôi hiểu ý bạn là gì. Bạn có thể chỉ cho tôi bằng cách thêm nó vào mã không? – user1087110

+0

Tôi đoán tôi đã bỏ lỡ rằng bạn đã có các nhà cung cấp khác trong ví dụ đánh dấu đầy đủ của bạn. Tôi chỉ nhìn vào hai dòng ở trên cùng. – Rob

Trả lời

8
-ms-transition:opacity 1s ease-in-out; // Will this allone work in IE 10? 

Nếu Microsoft đã thực hiện một cài đặt nhà cung cấp cụ thể của transition trong Internet Explorer thì đây sẽ là được kích hoạt bởi tuyên bố thuộc tính -ms-transition, giả sử rằng các đối số đáp ứng đặc tả mà chúng đã triển khai.

Can I Use gợi ý rằng IE 10 có, thực sự, thực hiện các -ms-transition bất động sản, cũng như các MSDN entry, mặc dù nó không đặc hiệu như phiên bản IE này được thực hiện trong ...

transition:opacity 1s ease-in-out; // Why do we set this? 

Chúng tôi đặt điều này để khi việc triển khai chuẩn của transition được hoàn thành và triển khai, điều này sẽ ghi đè mọi triển khai cụ thể theo từng nhà cung cấp tạm thời

+1

tl; dr có nó sẽ hoạt động trong IE10 một mình. – BoltClock

+0

Cảm ơn thông tin David! BoltClock, đã thử yoiu chưa? (Tôi chỉ có IE9 opn máy tính của tôi ...) – user1087110

+0

@ user1087110: [Ổ đĩa thử nghiệm IE10] (https://ie.microsoft.com/testdrive) chứa các bản trình diễn chuyển tiếp CSS3 có thể xem trong bản xem trước nền tảng IE10. Hai IE10 đầu tiên sẽ chạy trên Windows 7, nhưng tôi không chắc chắn nếu chúng vẫn có sẵn để tải xuống ... – BoltClock

8

Microsoft đã triển khai tiền tố và các phiên bản không có tiền tố cùng một lúc.

Vì vậy, ví dụ bạn

-ms-transition:opacity 1s ease-in-out; // This will never be used because, 
transition:opacity 1s ease-in-out;  // This line will always overwrite it 

Xem this jsfiddle trong IE10 và bạn sẽ thấy rằng cả hai công việc tốt. Nếu bạn khai báo cả tiền tố và phiên bản không có tiền tố, thì khai báo thứ hai sẽ được ưu tiên.

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