dx
==

L'attribut **`dx`** indique un décalage sur l'axe x de la position d'un élément ou de son contenu.

Sept éléments utilisent cet attribut: `<altGlyph>`, `<feDropShadow>`, `<feOffset>`, `<glyphRef>` (en-US), `<text>`, `<tref>` (en-US), et `<tspan>`

Exemple
-------
```

html,
body,
svg {
  height: 100%;
}
```



```html
<svg viewBox="0 0 100 100" xmlns="http://www.w3.org/2000/svg">
  <!-- Lignes indiquant la position des glyphes -->
  <line x1="0" x2="100%" y1="50%" y2="50%" />
  <line x1="10%" x2="10%" y1="0" y2="100%" />
  <line x1="60%" x2="60%" y1="0" y2="100%" />

  <!-- Un texte de référence -->
  <text x="10%" y="50%" fill="grey">SVG</text>

  <!-- Le même texte avec un décalage sur l'axe x -->
  <text dx="50%" x="10%" y="50%">SVG</text>
</svg>
```



```css
line {
  stroke: red;
  stroke-width: 0.5px;
  stroke-dasharray: 3px;
}
```

altGlyph
--------

**Attention :** Depuis SVG2 `<altGlyph>` est déprécié et ne devrait pas être utilisé.

Pour `<altGlyph>`, s'il ne contient qu'une seule valeur, `dx` définit un décalage sur l'axe x pour l'ensemble des glyphes.

S'il a plusieurs valeurs, `dx` définit un décalage sur l'axe x individuellement pour chaque glyphe, relativement au glyphe précédent. S'il y a moins de valeurs qu'il n'y a de glyphes, les glyphes restants utilisent une valeur de `0`. S'il y a plus de valeurs qu'il n'y a de glyphes, les valeurs supplémentaires sont ignorées.

|  |  |
| --- | --- |
| Valeur | 
 Liste de
 **<length>** |
| Valeur par défaut | *aucune* |
| Animation | Oui |

feDropShadow
------------

Pour `<feDropShadow>`, `dx` définit le décalage x de l'ombre portée. L'unité utilisée pour résoudre la valeur de l'attribut est définie par l'attribut `primitiveUnits (en-US)` de l'élément `<filter>`.

|  |  |
| --- | --- |
| Valeur | **<number>** |
| Valeur par défaut | `2` |
| Animation | Oui |

feOffset
--------

Pour `<feOffset>`, `dx` définit le décalage x de l'élément source du filtre. L'unité utilisée pour résoudre la valeur de l'attribut est définie par l'attribut `primitiveUnits (en-US)` de l'élément `<filter>`.

|  |  |
| --- | --- |
| Valeur | **<number>** |
| Valeur par défaut | `0` |
| Animation | Oui |

glyphRef
--------

**Attention :** Depuis SVG2 `<glyphRef>` (en-US) est déprécié et ne devrait pas être utilisé.

Pour `<glyphRef>` (en-US), `dx` définit le décalage x du glyphe, dans le système métrique de la police.

|  |  |
| --- | --- |
| Valeur | **<number>** |
| Valeur par défaut | `0` |
| Animation | Oui |

text
----

Pour `<text>`, s'il ne contient qu'une seule valeur, `dx` définit un décalage sur l'axe x pour tous les glyphes.

S'il a plusieurs valeurs, `dx` définit un décalage sur l'axe x individuellement pour chaque glyphe, relativement au glyphe précédent. S'il y a moins de valeurs qu'il n'y a de glyphes, les glyphes restants utilisent une valeur de `0`. S'il y a plus de valeurs qu'il n'y a de glyphes, les valeurs supplémentaires sont ignorées.

|  |  |
| --- | --- |
| Valeur | 
 Liste de
 **<length>** |
| Valeur par défaut | *aucune* |
| Animation | Oui |

### Exemple
```

html,
body,
svg {
  height: 100%;
}
```



```html
<svg viewBox="0 0 100 100" xmlns="http://www.w3.org/2000/svg">
  <!-- Linges indiquant la position des glyphes -->
  <line x1="0" x2="100%" y1="25%" y2="25%" />
  <line x1="0" x2="100%" y1="50%" y2="50%" />
  <line x1="0" x2="100%" y1="75%" y2="75%" />

  <line x1="10%" x2="10%" y1="0" y2="100%" />
  <line x1="30%" x2="30%" y1="0" y2="100%" />
  <line x1="60%" x2="60%" y1="0" y2="100%" />

  <!-- Le comportement change en fonction du nombre
 de valeurs de l'attribut -->
  <text dx="20%" x="10%" y="25%">SVG</text>
  <text dx="0 10%" x="10%" y="50%">SVG</text>
  <text dx="0 10% 20%" x="10%" y="75%">SVG</text>
</svg>
```



```css
line {
  stroke: red;
  stroke-width: 0.5px;
  stroke-dasharray: 3px;
}
```

tref
----

**Attention :** Depuis SVG2 `<tref>` (en-US) est déprécié et ne devrait pas être utilisé.

Pour `<tref>` (en-US), s'il ne contient qu'une seule valeur, `dx` définit un décalage sur l'axe x pour tous les glyphes.

S'il a plusieurs valeurs, `dx` définit un décalage sur l'axe x individuellement pour chaque glyphe, relativement au glyphe précédent. S'il y a moins de valeurs qu'il n'y a de glyphes, les glyphes restants utilisent une valeur de `0`. S'il y a plus de valeurs qu'il n'y a de glyphes, les valeurs supplémentaires sont ignorées.

|  |  |
| --- | --- |
| Valeur | 
 Liste de
 **<length>** |
| Valeur par défaut | *aucune* |
| Animation | Oui |

tspan
-----

Pour `<tspan>`, s'il ne contient qu'une seule valeur, `dx` définit un décalage sur l'axe x pour tous les glyphes.

S'il a plusieurs valeurs, `dx` définit un décalage sur l'axe x individuellement pour chaque glyphe, relativement au glyphe précédent. S'il y a moins de valeurs qu'il n'y a de glyphes, les glyphes restants utilisent une valeur de `0`. S'il y a plus de valeurs qu'il n'y a de glyphes, les valeurs supplémentaires sont ignorées.

|  |  |
| --- | --- |
| Valeur | 
 Liste de
 **<length>** |
| Valeur par défaut | *aucune* |
| Animation | Oui |

Spécifications
--------------

| Specification |
| --- |
| Filter Effects Module Level 1 # element-attrdef-fedropshadow-dx |
| Filter Effects Module Level 1 # element-attrdef-feoffset-dx |
| Scalable Vector Graphics (SVG) 2 # TextElementDXAttribute |