English | 简体中文 | 繁體中文 | Русский язык | Français | Español | Português | Deutsch | 日本語 | 한국어 | Italiano | بالعربية
O elemento <defs> do SVG é usado para embedding definições que podem ser reutilizadas dentro de uma imagem SVG. Por exemplo, você pode agrupar formas SVG e reutilizá-las como uma única forma.
Este é um exemplo simples do elemento <defs>:
<svg> <defs> <g> <rect x="100" y="100" width="100" height="100" /> <circle cx="100" cy="100" r="100" /> </g> </defs> </svg>Teste e veja‹/›
As formas definidas dentro do elemento <defs> não são exibidas na imagem SVG. Antes de exibi-las, elas devem ser referenciadas por um elemento <use>. Abaixo está um exemplo:
<svg width="500" height="100"> <defs> <g id="shape"> <rect x="0" y="0" width="50" height="50" ></rect> <circle cx="0" cy="0" r="50" ></circle> </g> </defs> <use xlink:href="#shape" x="50" y="50" ></use> <use xlink:href="#shape" x="200" y="50" ></use> <circle cx="50"cy="50" r="5<style="fill:#0000ff;"></circle> <circle cx="200"cy="50" r="5<style="fill:#0000ff;"></circle> </svg>Teste e veja‹/›
Antes de poder referenciar o elemento <g>, deve ser configurado um ID para ele através de sua propriedade id. O elemento <use> faz referência ao elemento <g> através de sua propriedade xlink:href. Observe que o ID está antes do # no valor do atributo.
O elemento <use> especifica onde exibir a forma repetida através de suas propriedades x e y. Observe que os shapes dentro do elemento <g> estão localizados em 0,0. Isso é feito porque suas posições foram adicionadas ao ponto especificado pelo elemento <use>.
Efeito da imagem após a execução:
O ponto azul não está no exemplo. Ele foi adicionado para mostrar os x e y de dois elementos <use>.
Você pode colocar os seguintes elementos dentro do elemento <defs>:
Qualquer elemento de forma (rect, line, etc.)
g
symbol