Không, IE8 trở về trước không hỗ trợ kiểu transform
tiêu chuẩn. IE9 không hỗ trợ nó mặc dù.
Có các giải pháp bạn có thể thử sử dụng kiểu filter
, nhưng chúng sẽ lộn xộn.
Nhưng đối với trường hợp đơn giản mà bạn mô tả trong câu hỏi (về cơ bản là giảm tỷ lệ đơn giản), bạn có thể sử dụng thuộc tính độc quyền của IE zoom
.
Vì nó không chuẩn, việc sử dụng phổ biến nhất của zoom
là với zoom:1
, được sử dụng để sửa chữa một số lỗi bố trí của IE (cụ thể trong IE6 và IE7). Nhưng nó cũng làm phóng to thực tế là tốt, và bạn có thể sử dụng zoom:0.5
để đạt được hiệu quả mà bạn đang tìm kiếm.
Điều tốt về việc sử dụng zoom
là nó hoạt động trong IE giống như bất kỳ thuộc tính CSS thông thường nào khác (thay thế filter
có một số quirks hiển thị nghiêm trọng mà bạn cần biết).
Chỉ từ phía dưới của việc sử dụng zoom
là bạn cần tắt nó trong IE9 hoặc mới hơn, nếu không nó sẽ xen kẽ với kiểu transform
của bạn và có một số hiệu ứng không mong muốn. Tôi không phải là người thường hỗ trợ sử dụng hacks CSS, nhưng bạn có thể sử dụng hack /9
(documented here) để làm cho nó chỉ ảnh hưởng đến IE8 và trước đó, nghĩa là bạn có thể chỉ định cả transform
và zoom
trong cùng một biểu định kiểu, như vậy :
div {
transform: scale(0.5,0.5);
zoom: 0.5\9;
}
Nếu không, bạn cần sử dụng các nhận xét có điều kiện để xác định có sử dụng hay không. Rõ ràng nếu bạn muốn làm bất cứ điều gì phức tạp hơn một thang tỷ lệ đơn giản, thì zoom
sẽ không phù hợp, nhưng đối với một trường hợp đơn giản như trường hợp trong câu hỏi của bạn, nó sẽ là hoàn hảo.
khi đặt câu hỏi như thế này, xin ghi rõ phiên bản (s) của IE bạn đang hỏi về, bởi vì nó làm cho một sự khác biệt rất lớn đối với câu trả lời. – Spudley