Tôi có một SVG của logo của khách hàng cần phải có một bảng màu cho tiêu đề (màu xanh lam) và nghịch đảo của nó ở chân trang (màu trắng trên nền xanh). Để giảm tải, tôi đang sử dụng một phần tử nội tuyến <svg>
đơn lẻ với <symbol>
, tham chiếu nó ở hai nơi bằng cách sử dụng <svg><use xlink:href="#logo"/></svg>
và sau đó tạo kiểu cho mỗi phiên bản một cách thích hợp bằng cách sử dụng CSS.SVG được liên kết không Antialias trong IE11
Cho đến nay, rất tốt. Tôi chỉ phải gọi SVG một lần và có thể tạo phong cách khác nhau ở cả hai nơi mà không gặp bất kỳ vấn đề gì.
Tuy nhiên, sau khi kiểm tra thiết lập này trong IE11, tôi thấy rằng SVG được liên kết trông khủng khiếp. Nó không xuất hiện để được antialiasing, nhưng chỉ trên phiên bản liên kết.
Tôi đã giảm SVG xuống phiên bản đơn giản cho ví dụ này (và để ẩn danh máy khách), nhưng you can see this behavior in a fiddle nếu bạn xem trước trong IE11.
Đây là ảnh chụp màn hình của hành vi trong IE11. Phiên bản bên trái là mã tôi muốn, nhưng bạn có thể thấy sự xuống cấp chất lượng so với nội tuyến SVG đầy đủ ở bên phải.
Có bất kỳ lý do tại sao chỉ IE11 (IE9 và IE10 làm này một cách chính xác) thực hiện điều này? Tôi đã thử đặt shape-rendering="geometricPrecision"
và shape-rendering="optimizeQuality"
trong cả hai thành phần <svg>
và trong phần tử <path>
và chất lượng không thay đổi trong IE11.
Tôi thiếu gì ở đây?
Lý do là một lỗi có lẽ. Bạn có thể thử báo cáo cho Microsoft. –