2013-05-22 40 views
6

Gần đây tôi chỉ đến realise that Internet Explorer 10 không hỗ trợ thuộc tính hình ảnh biên giới CSS, thậm chí không sử dụng tiền tố của nhà cung cấp.Bất kỳ cách nào để 'hack' Internet Explorer 10 để hiển thị hình ảnh biên giới?

Giải pháp go-to thông thường của tôi là sử dụng CSS3 PIE, tuy nhiên ở vị trí khá độc đáo, không thể làm được toàn bộ để giúp Microsoft quyết định giảm giá hỗ trợ cho các hành vi .htc trong IE10. Có một cuộc thảo luận về điều này trên diễn đàn của họ here.

Có vẻ như có thể có một công việc xung quanh bằng cách xây dựng một phiên bản JS tùy chỉnh của CSS3 PIE nhưng tôi rất lo lắng khi có hiệu suất.

Có cách nào khác mà bất kỳ ai đã phát hiện ra để thuyết phục IE10 hỗ trợ hình ảnh biên giới (vì nó thực sự nên!).

+1

99% chắc chắn bạn sẽ phải viết mã hoặc chỉ cần đánh dấu nó ra khỏi cổng lên như lưới 9x9 với hình nền. 'border-image' chỉ là một thay thế lạ mắt cho lưới 9x9 ... – svidgen

Trả lời

4

IE10 không hoàn toàn xóa hỗ trợ cho hành vi của HTC. Bạn vẫn có thể sử dụng chúng nếu bạn force IE10 to emulate IE9, mà bạn có thể thực hiện bằng cách thêm thẻ meta sau:

<meta http-equiv="X-UA-Compatible" content="IE=EmulateIE9"> 

này sẽ cho phép bạn sử dụng các hành vi HTC CSS3 PIE được nữa, nhưng nó cũng sẽ ngăn bạn sử dụng các tính năng mới khác giới thiệu trong IE10. Đó là một sự cân bằng, nhưng một trong đó sẽ cho phép trang web của bạn xuất hiện như dự định trong IE10 cho đến khi thời gian như là một tốt hơn border-image polyfill có sẵn.

+0

Cảm ơn bạn, tôi đã không có cơ hội để điều tra điều này đầy đủ, và nghi ngờ tôi sẽ chỉ đơn giản là đi theo phương pháp 'thoái hóa duyên dáng' trên cái này thời gian. Đề xuất của bạn chắc chắn có ý nghĩa nhất nếu hình ảnh biên giới là cần thiết. Thật đáng tiếc là ngay cả với trình duyệt mới nhất của Microsoft vẫn có những thỏa hiệp đáng kể so với đối thủ cạnh tranh. Nói rất nhiều rằng trong trường hợp này trình duyệt trước đó của họ là tốt hơn! – johnkavanagh

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