Elemento de definición de SVG

El <defs> en SVG se usa siempre que queremos que un elemento en particular se represente solo cuando sea necesario o cuando se llame. los objetos que se crean dentro del elemento <defs> no se procesan directamente; es necesario que los llame el elemento <use> para representarlos en el navegador.

Sintaxis:

<defs></defs>

Valores de propiedad: No tiene ningún valor de propiedad.

A continuación se dan algunos ejemplos de la función anterior.

Ejemplo 1: cuando <defs> no se llama, no se ejecuta.

HTML

<!DOCTYPE html>
<html lang="en">
<head>
  <meta charset="UTF-8">
  <meta name="viewport" 
        content="width=device-width, initial-scale=1.0">
  <title>Document</title>
</head>
<style>
  svg{
    background-color: green;
  }
</style>
<body> 
  <h2>
    No Output only svg of size 100*100 is visible<br>
    and no circle stroke will be rendered</h2>
  <svg width="100px" height="100px">
      
    <!--this defs code will not be 
        executed as it is not called-->
    <defs>
      <circle cx="50" cy="50" r="40" 
              stroke="black"/>
    </defs>
  </svg>
</body>
</html>

Producción:

Ejemplo 2:

HTML

<!DOCTYPE html>
<html lang="en">
<head>
  <meta charset="UTF-8">
  <meta name="viewport" 
        content="width=device-width, initial-scale=1.0">
  <title>Document</title>
</head>
<style>
  svg{
    background-color: green;
  }
</style>
<body> 
  <svg width="100px" height="100px">
    <defs>
      <circle id="ele" cx="50" cy="50" 
              r="40" stroke="black" 
              stroke-width="10"/>
    </defs>
      
    <!-- this defs code will not be executed 
         as it is not called using use -->
    <defs>
      <circle id="ele" cx="50" cy="50"
              r="40" stroke="black"/>
    </defs>
    <use xlink:href="#ele" 
         fill="url('#myGradient')" />
  </svg>
</body>
</html>

Producción:

Publicación traducida automáticamente

Artículo escrito por TARuN y traducido por Barcelona Geeks. The original can be accessed here. Licence: CCBY-SA

Deja una respuesta

Tu dirección de correo electrónico no será publicada. Los campos obligatorios están marcados con *