Я сделал потрясающий логотип и сохранил его в форматах AI и SVG. Я хочу использовать файл SVG на сайте, так как логотип будет появляться много раз по всему сайту и будет лучше, чем сохранение логотипа в формате PNG и ненужных запросов на стороне сервера. Теперь это прекрасно работает, используя:
<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>
Теперь проблема возникает при использовании logo
разметки Schema.org . С помощью:
<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>
Как я и ожидал, он не проходит проверку W3C, и меня приветствуют следующие сообщения об ошибках:
- Атрибут itemscope не разрешен для элемента svg на данный момент.
- Атрибут itemtype не разрешен для элемента svg на данный момент.
- Атрибут itemprop не разрешен для изображения элемента в этой точке.
Теперь я знаю, что проверка W3C не является существенной вещью, но я бы предпочел иметь решение, удовлетворяющее как Google, так и W3C.
Я уверен, что некоторые гуру W3C смогут указать мне правильное направление, я бы предпочел не использовать URI DATA, если это возможно, поскольку я знаю, что это может быть одним из решений, но исправьте меня, если я ошибаюсь или нет URI DATA не кэшируются
width: height:
тега img имело нежелательные последствия. Я сделаю еще один снимок .... будет неудобно использовать png-спрайты, так как это добавит 100 КБ против 2 КБ.