Cette page a été traduite à partir de l'anglais par la communauté. Vous pouvez contribuer en rejoignant la communauté francophone sur MDN Web Docs.

View in English Always switch to English

object-position

Baseline Large disponibilité

Cette fonctionnalité est bien établie et fonctionne sur de nombreux appareils et versions de navigateurs. Elle est disponible sur tous les navigateurs depuis janvier 2020.

La propriété CSS object-position définit l'alignement du contenu d'un élément remplacé au sein de la boîte de l'élément. Les zones de la boîte qui ne sont pas couvertes par l'objet de l'élément remplacé afficheront l'arrière-plan de l'élément.

Il est possible de modifier la taille intrinsèque de l'objet de l'élément remplacé (c'est-à-dire sa taille naturelle) pour l'adapter à la boîte de l'élément en utilisant la propriété object-fit.

Exemple interactif

object-position: 50% 50%;
object-position: right top;
object-position: left bottom;
object-position: 250px 125px;
<section id="default-example">
  <img
    class="transition-all"
    id="example-element"
    src="/shared-assets/images/examples/moon.jpg" />
</section>
#example-element {
  height: 250px;
  width: 250px;
  object-fit: none;
  border: 1px solid red;
}

Syntaxe

css
/* Valeurs avec un mot-clé */
object-position: top;
object-position: bottom;
object-position: left;
object-position: right;
object-position: center;

/* Valeurs de type <percentage> */
object-position: 25% 75%;

/* Valeurs de type <length> */
object-position: 0 0;
object-position: 1cm 2cm;
object-position: 10ch 8em;

/* Valeurs de décalage par rapport aux bords */
object-position: bottom 10px right 20px;
object-position: right 3em bottom 10px;
object-position: top 0 right 10px;

/* Valeurs globales */
object-position: inherit;
object-position: initial;
object-position: revert;
object-position: revert-layer;
object-position: unset;

Valeurs

<position>

De une à quatre valeurs qui définissent la position en 2D de l'élément. Des décalages relatifs ou absolus peuvent être utilisés.

Note : La position peut être définie de manière à ce que l'élément remplacé soit dessiné en dehors de sa boîte.

Définition formelle

Valeur initiale50% 50%
Applicabilitééléments remplacés
Héritéeoui
Pourcentagesse rapporte à la largeur et à la hauteur de l'élément lui-même
Valeur calculéecomme défini
Type d'animationune liste répétable

Syntaxe formelle

object-position = 
<position>

<position> =
<position-one> |
<position-two> |
<position-four>

<position-one> =
left |
center |
right |
top |
bottom |
x-start |
x-end |
y-start |
y-end |
block-start |
block-end |
inline-start |
inline-end |
<length-percentage>

<position-two> =
[ left | center | right | x-start | x-end ] && [ top | center | bottom | y-start | y-end ] |
[ left | center | right | x-start | x-end | <length-percentage> ] [ top | center | bottom | y-start | y-end | <length-percentage> ] |
[ block-start | center | block-end ] && [ inline-start | center | inline-end ] |
[ start | center | end ]{2}

<position-four> =
[ [ left | right | x-start | x-end ] <length-percentage> ] && [ [ top | bottom | y-start | y-end ] <length-percentage> ] |
[ [ block-start | block-end ] <length-percentage> ] && [ [ inline-start | inline-end ] <length-percentage> ] |
[ [ start | end ] <length-percentage> ]{2}

<length-percentage> =
<length> |
<percentage>

Exemples

Positionner le contenu d'une image

HTML

Dans ce fragment HTML, on a deux éléments HTML <img>, chacun affichant le logo de MDN.

html
<img id="object-position-1" src="mdn.svg" alt="Logo MDN" />
<img id="object-position-2" src="mdn.svg" alt="Logo MDN" />

CSS

Le code CSS implique la mise en forme par défaut pour les éléments <img> et des styles différents pour les deux images.

css
img {
  width: 300px;
  height: 250px;
  border: 1px solid black;
  background-color: silver;
  margin-right: 1em;
  object-fit: none;
}

#object-position-1 {
  object-position: 10px;
}

#object-position-2 {
  object-position: 100% 10%;
}

La première image est positionnée avec son bord gauche situé à 10 pixels du bord gauche de la boîte de l'élément. La seconde image est positionnée avec son bord droit poussé sur le bord droit de la boîte de l'élément et est située vers le bas de 10% de la hauteur de la boîte de l'élément.

Résultat

Spécifications

Spécification
CSS Images Module Level 3
# the-object-position

Compatibilité des navigateurs

Voir aussi