2012-04-05 35 views
7

Tôi hiện đang làm việc trên trang web và gặp sự cố với Safari. Khi tải một hình ảnh có một nền màu đen được đặt như là một đứng. Tôi thà điều này là trong suốt hoặc trắng, nhưng tôi không thể có vẻ để tìm ra nó. Check it out:Hình nền Safari Rendering màu đen khi tải

http://blazing-ocean-6482.herokuapp.com/

Tôi đã thực hiện html và cơ thể có background-color: màu trắng; nhưng điều này dường như không thay đổi vấn đề.

Trả lời

2

Chỉ cần lưu hình ảnh PNG với interlaced tùy chọn

+0

Tôi đã thử "xen kẽ" và không giải quyết được sự cố, ít nhất là trong Safari 6.0.2. – Ben

0

Tôi đã gặp sự cố tương tự như trên (chỉ trong Safari). Thẻ body của tôi có hình nền, lặp lại-x và được sử dụng làm nền cho toàn bộ trang web. Khi người dùng truy cập trang trong Safari, có đèn flash màu đen khi tải trang. Tôi đã tìm kiếm các lứa tuổi cho một giải pháp cho điều này, nhưng nó dường như là một lỗi chưa được giải quyết với Safari.

Tôi đã thử thêm "style: background-color: #FFF" vào thẻ html và body và cũng đã thử sử dụng trường cũ "bgcolor: #FFF" - không có tác phẩm nào.

Cách duy nhất tôi có thể khiến Safari hoạt động là sử dụng CSS + jQuery. Cung cấp cho cơ thể một lớp "bg-on" trong các tệp html và CSS của bạn. Trong tệp .js được liên kết hoặc trong trang html của bạn bằng thẻ:

jQuery(function ($) { 
$(document).ready(function(){ 

$('body').removeClass('bg-on'); 

});//end document ready 

/* NOTE (window).load fires when images have been fully loaded */ 
$(window).load(function() { 

$('body').addClass('bg-on'); 

});//end window load function 
});//end jQuery function no conflict mode 

Điều gì ở trên là khi DOM được trình duyệt tải, nó sẽ loại bỏ lớp khỏi cơ thể, do đó Safari sẽ không hiển thị nền đen không có hình nền. Sau đó, khi sự kiện window.load kích hoạt, khi tất cả nội dung đã được tải, nội dung sẽ được cung cấp hình nền ...

Nó sẽ không ảnh hưởng đến các trình duyệt bị tắt JS, vì lớp "bg-on" là hardcoded vào html.

Không phải là giải pháp đặc biệt thanh lịch, nhưng nó phù hợp với tôi.

1

tôi đã cùng một vấn đề trong safari 6. Hình ảnh của tôi là trong không gian màu xám. Tôi chuyển nó sang rgb và vấn đề biến mất. Hãy thử kiểm tra cài đặt không gian màu hình ảnh của bạn!

0

Gần đây, tôi gặp sự cố này trong Safari 6.0.2, cũng xuất hiện trong Safari trên điện thoại di động (ít nhất là trong iOS 6). Tiết kiệm nền của tôi như xen kẽ không hoạt động trên bảng & không gian màu RGB. Rất may nền của tôi có rất ít màu sắc & chuyển đổi nó sang GIF đã khắc phục được sự cố hoàn toàn.

1

Điều này xảy ra do PNG không có kênh alpha. Photoshop chỉ lưu hình ảnh bằng kênh alpha nếu hình ảnh có pixel trong suốt. Để hoạt động bình thường trong Safari, hình ảnh PNG IHDR phải có "truecolor-apha" trong nội dung đó. Bạn có thể xem các khối png trong tweakpng (http://entropymine.com/jason/tweakpng/) hoặc các chương trình tương tự.

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