Maison > interface Web > tutoriel CSS > Comment puis-je créer une image d'arrière-plan CSS à l'échelle adaptée sans problèmes de recadrage ou d'alignement ?

Comment puis-je créer une image d'arrière-plan CSS à l'échelle adaptée sans problèmes de recadrage ou d'alignement ?

Susan Sarandon
Libérer: 2025-01-02 15:21:38
original
806 Les gens l'ont consulté

How Can I Create a Responsively Scaled CSS Background Image Without Cropping or Alignment Issues?

Image d'arrière-plan CSS réactive avec mise à l'échelle proportionnelle

Les images d'arrière-plan en CSS peuvent souvent être difficiles à utiliser, en particulier lorsque vous souhaitez qu'elles soient mises à l'échelle de manière réactive pour s'adapter à différentes tailles d'écran. et maintenir le bon rapport hauteur/largeur. Explorons comment obtenir cet effet à l'aide de la propriété background-size.

Problème : problèmes de recadrage et d'alignement

Lors de la spécification d'une image d'arrière-plan avec background: url(), vous pouvez rencontrer des problèmes liés à recadrage et alignement. Firefox peut donner la priorité à la mise à l'échelle de la hauteur, ce qui entraîne un recadrage vertical, tandis que Chrome peut centrer l'image au lieu de la répéter.

Solution : background-size: cover

Pour résoudre ces problèmes, nous pouvons utiliser l'option propriété background-size en conjonction avec la valeur de couverture :

body {
    background-image: url(images/background.svg);
    background-size: cover;
    background-repeat: no-repeat;
    background-position: center center;
}
Copier après la connexion

Compatibilité :
Vérifiez la compatibilité de la propriété background-size ici : [CSS Tricks](https://css-tricks.com/css3-background-size/)

Expliquer contain et cover

La valeur de couverture met à l'échelle la image d'arrière-plan à la plus petite taille qui couvre complètement la zone de positionnement de l'arrière-plan, en conservant son rapport hauteur/largeur. Cela garantit que l'image remplit tout l'espace sans aucune zone vide ou recadrée.

En revanche, la valeur contain redimensionne l'image à la plus grande taille qui s'adapte à la zone de positionnement d'arrière-plan tout en préservant ses proportions. Cela peut entraîner un espace vide autour de l'image.

Démonstration visuelle

Considérez une image 4x3 utilisée comme arrière-plan pour un écran 16x9.

contient :

  • L'image s'adapte à l'écran sans recadrage, mais il y a un espace vide au-dessus et en dessous.

couverture :

  • L'image est mise à l'échelle pour couvrir tout l'écran verticalement, tout en recadrant les côtés.

Pour une démonstration plus détaillée, consultez ce code extrait :

<div>
  <div class="contain"></div>
  <p>Note the grey background. The image does not cover the whole region, but it's fully contained.</p>
</div>
<div>
  <div class="cover"></div>
  <p>Note the ducks/geese at the bottom of the image. Most of the water is cut, as well as a part of the sky. You don't see the complete image anymore, but neither do you see any background color; the image covers all of the div.</p>
</div>
Copier après la connexion

Ce qui précède est le contenu détaillé de. pour plus d'informations, suivez d'autres articles connexes sur le site Web de PHP en chinois!

Déclaration de ce site Web
Le contenu de cet article est volontairement contribué par les internautes et les droits d'auteur appartiennent à l'auteur original. Ce site n'assume aucune responsabilité légale correspondante. Si vous trouvez un contenu suspecté de plagiat ou de contrefaçon, veuillez contacter admin@php.cn
Tutoriels populaires
Plus>
Derniers téléchargements
Plus>
effets Web
Code source du site Web
Matériel du site Web
Modèle frontal