svg-файл не отображается веб-браузером

у меня есть graphics.svg файл, имеющий следующий код:

<?xml version="1.0" standalone="no"?>
<!DOCTYPE svg PUBLIC "-//W3C//DTD SVG 1.1//EN" "http://www.w3.org/Graphics/SVG/1.1/DTD/svg11.dtd">
<svg width="400" height="110">
  <rect width="400" height="110" style="fill:rgb(0,0,255);" />
</svg>

Если я открою этот файл из веб-браузера (Firefox, Chromium), векторное изображение не будет отображаться. Вместо этого файл отображается в формате XML:

This XML file does not appear to have any style information associated with it. The document tree is shown below.

<svg width="400" height="110">
    <rect width="400" height="110" style="fill:rgb(0,0,255);"/>
</svg>

это потому, что файл svg должен быть встроен в html-файл для правильного отображения?

2 ответов


нет, это потому, что вы не указали пространство имен svg элемент

xmlns="http://www.w3.org/2000/svg"

посмотреть примеры в спецификации.


отсутствует объявление пространства имен.

вам нужно добавить xmlns="http://www.w3.org/2000/svg" как атрибут корня <svg> элемент и пока вы там, вы можете также добавить xmlns:xlink="http://www.w3.org/1999/xlink" тоже.

есть некоторые более полные рекомендации по разработке здесь которые вы, возможно, захотите просмотреть.