2016-09-22 21 views
108

Tôi vừa gặp sự cố rất lạ chỉ xuất hiện trong Safari 10. Tôi có thẻ chơi, hình ảnh svg, đôi khi được xoay bằng cách sử dụng transform:rotate(xdeg).Thay đổi màu SVG khi xoay trong Safari 10

Thẻ tôi đang sử dụng có mẫu khối màu đỏ. Khi nó không được xoay hoặc xoay ở các góc vuông, nghĩa là 90, 180, 270, thì có vẻ bình thường. Tuy nhiên, bất kỳ góc độ nào khác so với điều đó và mẫu nền chuyển sang màu xanh! Tôi vừa nhận được một báo cáo về điều này từ một trong những người dùng của tôi và chưa bao giờ thấy bất cứ điều gì lạ. Tất cả các trình duyệt khác đều hoạt động bình thường, Safari 9 thường hoạt động bình thường.

Tôi đoán đây chỉ là một lỗi thực sự kỳ lạ trong Safari 10, nhưng bất kỳ ý tưởng nào về cách làm việc xung quanh nó? Tôi đã tạo một bản giới thiệu tối thiểu tại:

https://jsfiddle.net/2zv4garu/1/

+6

Hãy xem xét thêm một lỗi WebKit [để theo dõi lỗi của họ] (https://bugs.webkit.org/), nếu bạn nghĩ rằng đây là WebKit liên quan. – unwind

+2

Điều này không xảy ra trên máy Mac Mini của tôi vào cuối năm 2012 hoặc trên chiếc Retina MacBook Pro 2013 của tôi. Mac Mini: http://imgur.com/zdAZoWV –

+2

Không xảy ra trên MacBook Pro không có võng mạc của tôi với phiên bản Safari 10.0 (12602.1.50.0.10) – Dave

Trả lời

79

Lỗi lạ thực sự. Việc thực hiện phép biến đổi trong phần tử g gói như là một biến đổi SVG không giải quyết được vấn đề.

Tuy nhiên, bằng cách thực hiện xoay vòng 3D thay vì xoay vòng 2D, tức là inlineCard.style.transform = 'rotate3d(0,0,1,' + e.currentTarget.value + 'deg)'; không giải quyết được vấn đề, bạn có thể xem tại đây.

https://jsfiddle.net/qe00s1mg/

enter image description here

+32

Cảm ơn, điều đó hoạt động tốt :) Tôi đã tìm ra cách thay đổi màu sắc xảy ra, nó chuyển đổi giá trị R và B từ màu tô. Màu là # ff0000 và nó chuyển nó thành # 0000ff. Tôi đã thử với các giá trị khác nhau cho R và B và thấy rằng nó luôn luôn là nghịch đảo. Tuy nhiên giá trị G không đổi, trên thực tế nếu bạn thử màu # 00FF00 thì màu thẻ sẽ không thay đổi trong khi xoay. Dù sao, cảm ơn vì cách giải quyết khác, tôi đã đánh dấu câu trả lời này là đã được chấp nhận. –

+19

Vui lòng gửi một lỗi tại bugreport.apple.com (hoặc bugs.webkit.org) với các chi tiết đó. –

+15

@EinarEgilsson: ... và điều đó giải thích khá nhiều về những gì đang xảy ra. Rõ ràng, ai đó [sử dụng thứ tự byte sai] (http://stackoverflow.com/questions/5123387/loading-a-bmp-into-an-opengl-textures-switches-the-red-and-blue-colors-c -win) khi hiển thị hình ảnh được xoay. –

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