151 votes

Comment centrer une image (d'arrière-plan) dans un div ?

Est-il possible de centrer une image de fond dans un div ? J'ai essayé à peu près tout, mais sans succès :

<div id="doit">
  Lorem Ipsum ...
</div>

//CSS
#doit { background-image: url(images/pic.png); background-repeat: none; text-align: center; }

Est-ce possible ?

301voto

Sour Lemon Points 3945
#doit {
    background: url(url) no-repeat center;
}

27 votes

Merci. La CSS spécifique pour le centrage est "background-position : center ;".

0 votes

@Green : Voir ma réponse pour les images d'arrière-plan des sprites.

4 votes

Si vous voulez que la div entière soit remplie avec l'image et sans espace supplémentaire, vous devez utiliser background-size: cover; Si vous voulez que l'image entière soit affichée sans qu'aucune partie de l'image ne soit coupée ou étirée, vous pouvez utiliser la méthode suivante background-size: contain;

84voto

Chimoo Points 2141

Essayez background-position:center;

EDIT : puisque cette question fait l'objet de nombreuses consultations, il est utile d'ajouter quelques informations supplémentaires :

text-align: center ne fonctionnera pas car l'image d'arrière-plan ne fait pas partie du document et ne fait donc pas partie du flux.

background-position:center est un raccourci pour background-position: center center ; ( background-position: horizontal vertical ) ;

1 votes

En fait, vous avez juste besoin background-position:center;

0 votes

La réponse sélectionnée a fait disparaître tout mon arrière-plan pour une raison quelconque (pour être honnête, je fais des trucs jquery qui peuvent en être la cause), mais cette réponse fonctionne. Upvote.

15voto

Capsule Points 3514

Utiliser la position de l'arrière-plan :

background-position: 50% 50%;

1 votes

Utile si vous avez besoin que l'image soit centrée horizontalement mais en haut verticalement : background-position : 50% 0% ;

0 votes

50% 0 est plus court alors ;-) En CSS, vous n'avez jamais besoin d'unité lorsque la valeur est 0.

6voto

Hemerson Varela Points 1890

Cela fonctionne pour moi :

#doit{
    background-image: url('images/pic.png');
    background-repeat: no-repeat;
    background-position: center;  
}

0voto

Ankur Mishra Points 16
     background-position: center;

cela fait apparaître le contenu central de l'image dans le port d'affichage de la division. Que faire si mon div est plus grand (plus large que le sprite) et que je veux que l'image vienne au centre du div (horizontalement) ?

Prograide.com

Prograide est une communauté de développeurs qui cherche à élargir la connaissance de la programmation au-delà de l'anglais.
Pour cela nous avons les plus grands doutes résolus en français et vous pouvez aussi poser vos propres questions ou résoudre celles des autres.

Powered by:

X