Tôi đã tạo ra một logo thật tuyệt vời và tôi đã lưu nó ở định dạng AI và SVG. Tôi muốn sử dụng tệp SVG trên trang web vì logo sẽ xuất hiện nhiều lần trên tất cả các trang web và sẽ tốt hơn là lưu logo ở định dạng PNG và có các yêu cầu phía máy chủ không cần thiết. Bây giờ, điều này hoạt động rất tốt bằng cách sử dụng:
<svg id="my-logo" height="60" width="60"
xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink" >
<g transform="scale(0.1)">
<image x="0" y="0" height="600" width="600" xlink:href="my-logo.svg" />
</g>
</svg>
Bây giờ vấn đề phát sinh khi sử dụng logo
đánh dấu Schema.org . Sử dụng:
<svg itemscope itemtype="http://schema.org/Organization" id="my-logo" height="60" width="60"
xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink" >
<g transform="scale(0.1)">
<image itemprop="logo" x="0" y="0" height="600" width="600" xlink:href="my-logo.svg" />
</g>
</svg>
Như tôi dự đoán, nó không thể xác nhận W3C và tôi được chào đón với các thông báo lỗi sau:
- Tại thời điểm này, thuộc tính mục không được phép trên phần tử svg.
- Tại thời điểm này, thuộc tính itemtype không được phép trên phần tử svg.
- Itemprop thuộc tính không được phép trên hình ảnh phần tử tại thời điểm này.
Bây giờ tôi biết rằng xác thực W3C không phải là một điều thiết yếu nhưng tôi muốn có một giải pháp thỏa mãn cả Google và W3C.
Tôi chắc chắn rằng một số guru W3C sẽ có thể chỉ cho tôi đi đúng hướng, tôi sẽ không sử dụng DATA URI nếu có thể vì tôi biết đó có thể là một giải pháp nhưng hãy sửa tôi nếu tôi sai hoặc không phải DATA URI không lưu trữ được.
width: height:
trong thẻ img có các hiệu ứng không mong muốn. Tôi sẽ cung cấp cho nó một shot nữa .... sẽ là một nỗi đau khi phải sử dụng png sprite vì điều này sẽ thêm 100kb so với 2kb.