2011-10-14 30 views
34

Tôi gặp lỗi lạ. Tôi đang vẽ một hình ảnh màu vàng PNG màu vàng trong suốt trong một DIV phủ lên một số văn bản. Với các trình duyệt bình thường, mọi thứ có vẻ như vậy. Có một số văn bản và một lớp phủ màu vàng, bán trong suốt phía trên nó.Internet Explorer 8 hiển thị độ dốc thay vì hình nền

This is how it looks in Chrome

Trong Internet Explorer 8 Tuy nhiên, thay vì ốp lát các 1x1 PNG hình ảnh, một gradient (!) Sẽ được hiển thị.

This is how it looks in Internet Explorer 8

CSS là khá đơn giản:

.edit_section_overlay { 
    position: absolute; 
    z-index: 150; 

    top: -6px; 
    bottom: -6px; 
    left: -6px; 
    right: -6px; 

    border: 1px solid #afad9d; 
    background: url('../../images/content/edit/section/overlay/background-color.png') repeat; 

    min-height: 34px; 
    cursor: move; 
} 

Tôi chưa từng thấy một lỗi như thế này trước và Google không giúp tôi ...

Dưới đây là một bản demo trong jsFiddle, http://jsfiddle.net/jUVfS/

+1

Bạn có thể cung cấp cho chúng tôi liên kết đến trang web giới thiệu không? Và tại sao bạn sử dụng hình nền * bán trong suốt * thay vì màu nền bán trong suốt * màu * ở vị trí đầu tiên? – phihag

+0

100% chắc chắn bạn không sử dụng bất kỳ css cụ thể nào của IE? Hiệu ứng rất lạ – Alex

+1

@phihag Đây là bản demo trên JSFiddle: http://jsfiddle.net/jUVfS/ (Tôi đang sử dụng IE8.0.7600.16385) – Lukas

Trả lời

114

Hình ảnh .png của bạn cần phải có kích thước lớn hơn, tại tối thiểu1x2 thay vì 1x1.

Xem: http://nemesisdesign.net/blog/coding/ie8-1x1px-semi-transparent-background-bug/

Internet Explorer 8 không thực hiện lặp lại của một điểm ảnh 1x1 hình nền bán trong suốt một cách chính xác khi bất kỳ yếu tố khác trên trang được sử dụng "-ms- lọc " drective cho độ trong suốt alpha.

+0

Cảm ơn bạn! Điều đó đã làm nó! – Lukas

+8

Tôi ngạc nhiên khi có nhiều người chưa tham gia và bỏ phiếu cho vấn đề này và trả lời vì nó rất phổ biến! +1 –

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