Le type de donnée CSS <position>
définit une paire de coordonnées dans l'espace (bidimensionnel) afin de définir la position relative d'une boîte.
On peut définir un emplacement grâce à deux mots-clés avec chacun un décalage par rapport au côté correspondant à ce mot-clé. Un mot-clé représente un côté de la boîte ou la ligne du centre située entre les deux bords. Ce mot-clé sera left
, right
, top
, bottom
ou center
(ce dernier représente le milieu entre les côtés droit et gauche ou le milieu entre les côtés haut et bas selon le contexte).
Le décalage peut être une valeur relative, exprimée en pourcentages (valeur de type <percentage>
ou une valeur absolue. Les valeurs positives décalent vers la droite ou vers le bas. Les valeurs négatives décalent dans l'autre sens (vers la gauche ou vers le haut).
La position finale obtenue, décrite par la valeur <position>
, n'est pas nécessairement située à l'intérieur de la boîte de l'élément.
Si un seul décalage est indiqué, ce sera le décalage horizontal. Lorsqu'un seul décalage ou mot-clé est utilisé, la valeur par défaut pour l'autre axe est center
.
Interpolation
Les valeurs des coordonnées en abscisses et en ordonnées sont interpolées indépendamment. La vitesse de l'interpolation est définie par la même fonction de temporisation (<timing-function>
) et le point se déplacera donc sur une ligne.
Valeurs
/* Syntaxe avec une valeur */ mot-clé /* Le côté depuis lequel décaler, on centrera sur l'autre axe*/ <length> ou <percentage> /* La position sur l'axe */ /* Syntaxe avec deux valeurs */ mot-clé mot-clé /* Un mot-clé pour chaque direction, l'ordre n'est pas important */ mot-clé valeur /* La valeur indique le décalage par rapport au côté indiqué par le mot-clé */
Syntaxe formelle
[ [ left | center | right | top | bottom | <percentage> | <length> ] | [ left | center | right | <percentage> | <length> ] [ top | center | bottom | <percentage> | <length> ] | [ center | [ left | right ] [ <percentage> | <length> ]? ] && [ center | [ top | bottom ] [ <percentage> | <length> ]? ] ]
Exemples
CSS
div { background-color: #FFEE99; background-repeat: no-repeat; width: 300px; height: 80px; margin-bottom: 12px; } .exemple{ background: url("https://mdn.mozillademos.org/files/11987/startransparent.gif") #FFEE99 no-repeat; // Ici un exemple de valeur <position> background-position: 2.5cm bottom; }
HTML
<div class="exemple">Exemple</div>
Résultat
Spécifications
Spécification | État | Commentaires |
---|---|---|
CSS Values and Units Module Level 3 La définition de '<position>' dans cette spécification. |
Candidat au statut de recommandation | Renvoie aux deux définitions avec la contrainte suivante qui permet d'être cohérent : si CSS Backgrounds and Borders Module Level 3 est pris en charge, c'est sa définition de <position> qui doit être utilisée. |
CSS Backgrounds and Borders Module Level 3 La définition de '<position>' dans cette spécification. |
Candidat au statut de recommandation | <position> est défini de façon explicite et est étendu afin de pouvoir exprimer un décalage depuis n'importe quel côté. |
CSS Level 2 (Revision 1) La définition de '<position>' dans cette spécification. |
Recommendation | Autorise la combinaison d'un mot-clé et d'une valeur <length> ou <percentage> . |
CSS Level 1 La définition de '<position>' dans cette spécification. |
Recommendation | <position> est défini de façon anonyme comme valeur de background-position . |
Compatibilité des navigateurs
Fonctionnalité | Chrome | Firefox (Gecko) | Internet Explorer | Opera | Safari |
---|---|---|---|---|---|
Support simple | 1.0 | 1.0 (1.7 ou moins) | 4.0 | 3.5 | 1.0 (85) |
Combinaison d'un mot-clé et d'une valeur <length> ou <percentage> |
1.0 | 1.0 (1.7 ou moins) | 4.0 | 3.5 | 1.0 (85) |
Syntaxe à 4 valeurs (prise en charge du décalage depuis n'importe quel côté) | Pas de support[1] | 13.0 (13.0) | Pas de support | 10.5 | Pas de support[1] |
Fonctionnalité | Android | Firefox Mobile (Gecko) | IE Mobile | Opera Mobile | Safari Mobile |
---|---|---|---|---|---|
Support simple | (Oui) | 1.0 (1) | (Oui) | (Oui) | (Oui) |
Combinaison d'un mot-clé et d'une valeur <length> ou <percentage> |
(Oui) | 1.0 (1) | (Oui) | (Oui) | (Oui) |
Syntaxe à 4 valeurs (prise en charge du décalage depuis n'importe quel côté) | Pas de support | 13.0 (13.0) | ? | ? | Pas de support |
[1] Cf.WebKit bug 37514.