translate
=========

**Expérimental:** **Cette fonction est expérimentale**  
Puisque cette fonction est toujours en développement dans certains navigateurs, veuillez consulter le tableau de compatibilité pour les préfixes à utiliser selon les navigateurs.  
Il convient de noter qu'une fonctionnalité expérimentale peut voir sa syntaxe ou son comportement modifié dans le futur en fonction des évolutions de la spécification.

La propriété **`translate`** permet de définir des opérations de translations, individuellement et indépendamment de la propriété `transform`. Cela peut être utile pour la construction d'une interface utilisateur et évite d'avoir à se souvenir de l'ordre exact des fonctions de transformations à indiquer pour `transform`.

Syntaxe
-------


```css
/\* Valeurs avec un mot-clé \*/
translate: none;

/\* Valeurs uniques \*/
translate: 100px;
translate: 50%;

/\* Deux valeurs \*/
translate: 100px 200px;
translate: 50% 105px;

/\* Trois valeurs \*/
translate: 50% 105px 5rem;
```

### Valeurs

Une seule valeur de longueur/pourcentage (`<length-percentage>`)

Une longueur (`<length>`) ou un pourcentage (`<percentage>`) qui définit une translation en deux dimensions. La translation est la même pour l'axe X et l'axe Y. Cela est équivalent à la fonction `translate()` (translation en deux dimensions) avec une seule valeur.

Deux valeurs de longueur/pourcentage (`<length-percentage>`)

Deux longueurs (`<length>`) ou pourcentages (`<percentage>`) qui définissent respectivement les composantes horizontale et verticale d'une translation en deux dimensions. Cela est équivalent à la fonction `translate()` appelée avec ces deux arguments.

Trois valeurs

Deux valeurs de longueur/pourcentage (`<length-percentage>`) et une longueur (`<length>`) qui définissent respectivement les composantes horizontale, verticale et en profondeur de la translation en trois dimensions. Cela est équivalent à la fonction `translate3d()` appelée avec ces trois arguments.

`none`

Cette valeur indique qu'aucune translation ne devrait être appliquée.

Définition formelle
-------------------

|  |  |
| --- | --- |
| Valeur initiale | `none` |
| Applicabilité | éléments transformables |
| Héritée | non |
| Pourcentages | se rapporte à la taille de la boîte de l'élément |
| Valeur calculée | comme spécifié, mais avec les longueurs relatives converties en longueurs absolues |
| Type d'animation | une transformation |
| Crée un contexte d'empilement | oui |

Syntaxe formelle
----------------
```

translate =   
  none                                                |  
  <length-percentage> [ <length-percentage> <length>? ]?    
  
<length-percentage> =   
  <length>      |  
  <percentage>    
  
```

Exemples
--------

### HTML


```html
<div>
  <p class="translate">Translation</p>
</div>
```

### CSS


```css
\* {
  box-sizing: border-box;
}

html {
  font-family: sans-serif;
}

div {
  width: 150px;
  margin: 0 auto;
}

p {
  padding: 10px 5px;
  border: 3px solid black;
  border-radius: 20px;
  width: 150px;
  font-size: 1.2rem;
  text-align: center;
}

.translate {
  transition: translate 1s;
}

div:hover .translate {
  translate: 200px 50px;
}
```

### Résultat

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

| Specification |
| --- |
| CSS Transforms Module Level 2 # individual-transforms |

Compatibilité des navigateurs
-----------------------------

BCD tables only load in the browser with JavaScript enabled. Enable JavaScript to view data.

Voir aussi
----------

* `scale`
* `rotate`
* `transform`