Это зависит от контекста вопроса. Является ли SVG автономным файлом, встроенным в файл xhtml (т. е. обслуживаемым как application/xhtml+xml
) или встроенным в html-файл (т. е. обслуживаемым как text/html
)
Если это автономный SVG, вы можете сделать
<svg xmlns="http://www.w3.org/2000/svg" version="1.1">
<style>
@namespace inkscape "http://www.inkscape.org/namespaces";
g[inkscape|label="Site"] { fill: green; }
</style>
<g inkscape:label="Site" xmlns:inkscape="http://www.inkscape.org/namespaces">
<rect width="150" height="150" stroke-width="1" stroke="rgb(0, 0, 0)" />
</g>
</svg>
См. http://alohci.net/static/svg_ns.svg.
Если это файл XHTML, вы можете сделать
<html xmlns="http://www.w3.org/1999/xhtml">
<head>
<style>
@namespace inkscape "http://www.inkscape.org/namespaces";
g[inkscape|label="Site"] { fill: blue; }
</style>
</head>
<body>
<svg xmlns="http://www.w3.org/2000/svg" version="1.1">
<g inkscape:label="Site" xmlns:inkscape="http://www.inkscape.org/namespaces">
<rect width="150" height="150" stroke-width="1" stroke="rgb(0, 0, 0)" />
</g>
</svg>
</body>
</html>
См. http://alohci.net/static/svg_ns.xhtml.
Если он находится в файле html, это немного отличается, потому что анализатор html не поддерживает пользовательские пространства имен. Вместо этого вы должны обращаться с именем атрибута, как если бы это было обычное имя с двоеточием в нем. Так что ты бы сделал
<!DOCTYPE html>
<html>
<head>
<style>
g[inkscape\:label="Site"] { fill: yellow; }
</style>
</head>
<body>
<svg xmlns="http://www.w3.org/2000/svg" version="1.1">
<g inkscape:label="Site" xmlns:inkscape="http://www.inkscape.org/namespaces">
<rect width="150" height="150" stroke-width="1" stroke="rgb(0, 0, 0)" />
</g>
</svg>
</body>
</html>
См. http://alohci.net/static/svg_ns.html.
person
Alohci
schedule
24.06.2014