Logo SVG : réserve sa place pour éviter les décalages
Réserve la place du logo SVG avec width et height ou un ratio CSS. Compare les déplacements réels du navigateur, puis vérifie l’image livrée et la mise en page responsive.
Sur cette page
- Distingue le dessin de sa boîte réservée
- Commence par des attributs width et height correspondants
- Utilise un ratio CSS lorsque la mise en page définit l’emplacement
- Ce que notre exemple contrôlé de navigateur a montré
- Vérifie le composant livré, pas seulement le fichier
- Garde les autres problèmes SVG séparés
- FAQ
- Sources
Un logo SVG peut rester net tout en déplaçant le contenu voisin lorsqu’il apparaît. Pour un SVG externe chargé par un élément image HTML, donne au navigateur assez d’informations de taille pour réserver sa boîte avant que les dimensions intrinsèques du fichier soient disponibles. Des attributs width et height correspondants constituent un bon point de départ ; le CSS peut ensuite rendre cette boîte responsive.
Cela corrige un problème de mise en page. Cela ne change pas les chemins du logo et ne retire pas l’espace vide dans son canevas. Garde un original vectoriel exploitable. Si la seule source est un PNG ou JPG, récupère séparément le dessin éditable, puis donne au SVG livré une place intentionnelle sur la page.
Distingue le dessin de sa boîte réservée
Il y a trois dimensions liées à vérifier :
| Élément | Ce qu’il décrit | Où l’inspecter |
|---|---|---|
| Dessin SVG et viewBox | Rectangle de coordonnées source et dessin qu’il contient | Source SVG ou éditeur vectoriel |
| Dimensions ou ratio naturels de l’image chargée | Informations obtenues par le navigateur depuis l’image | Élément image chargé |
| Boîte de mise en page HTML | Espace attribué à l’image par la page | Styles calculés et limites de l’élément |
Un viewBox="0 0 300 100" décrit un rectangle source de 3:1. Pour un fichier externe, cette information est dans la ressource que la page doit récupérer. C’est différent d’un ratio correspondant placé dans le HTML environnant avant que cette ressource soit disponible.
La référence MDN de l’élément image recommande d’utiliser à la fois width et height pour prévoir l’espace avant le chargement. Les conseils Google sur les décalages de mise en page identifient aussi les dimensions d’image manquantes comme une cause courante de mouvement et décrivent la réservation d’espace avec des dimensions ou un ratio CSS.
Si ton problème concerne l’ajustement du dessin dans un viewport déjà établi, utilise le guide séparé d’ajustement du rapport d’aspect SVG. Réserver la boîte et y ajuster le dessin sont deux contrôles différents.
Commence par des attributs width et height correspondants
Pour un signe de 3:1, une intégration simple peut ressembler à ceci :
<img
class="brand-logo"
src="/assets/brand-logo.svg"
width="300"
height="100"
alt="Example brand"
>.brand-logo {
display: block;
width: 300px;
max-width: 100%;
height: auto;
}Les attributs fournissent le ratio prévu. Le CSS définit la largeur affichée et permet une réduction proportionnelle lorsque le conteneur devient plus étroit. Ils n’exigent pas que le logo occupe 300 pixels physiques d’écran sur tous les appareils.
Utilise les dimensions du véritable canevas de l’image, y compris l’espace libre volontaire. N’indique pas les limites des lettres visibles si le SVG livré possède un rectangle source plus large. Ce décalage rendrait la réservation initiale différente de la ressource chargée.
Des valeurs correspondantes comptent, car le ratio naturel d’une image peut prendre le relais une fois disponible. Un mauvais ratio initial peut encore produire une correction de taille plus tard. Revérifie le balisage et le fichier livré après le remplacement d’un logo, au lieu de supposer que conserver le nom du fichier conserve aussi sa géométrie.
Utilise un ratio CSS lorsque la mise en page définit l’emplacement
Un ratio CSS est utile lorsqu’un composant définit une forme de boîte particulière. Pour une image proportionnelle de 3:1 :
.brand-logo {
display: block;
width: 300px;
max-width: 100%;
height: auto;
aspect-ratio: 3 / 1;
}La référence aspect-ratio de MDN explique que cette propriété participe au dimensionnement automatique. Au moins une dimension doit rester automatique pour que le ratio préféré affecte ces calculs. Fixer à la fois largeur et hauteur fait de ces tailles explicites le premier point à inspecter.
Choisis le comportement prévu lorsque le ratio source diffère. Un emplacement de forme permanente peut nécessiter son propre conteneur et une règle intentionnelle d’ajustement d’image. Un logo proportionnel devrait normalement utiliser le bon ratio source. Évite de forcer un logo carré dans la géométrie 3:1 de l’ancien logo typographique simplement pour conserver l’ancien CSS.
La forme auto 3 / 1 a un autre sens : elle peut fournir un ratio provisoire pour un élément remplacé, puis utiliser son ratio naturel lorsqu’il devient disponible. C’est utile lorsque les ratios provisoire et final concordent ; ce n’est pas une garantie que des dimensions contradictoires ne déplaceront jamais rien.
Ce que notre exemple contrôlé de navigateur a montré
Nous avons créé un SVG original de 300 × 100 contenant un signe en F, un point et une flèche. Trois éléments image HTML n’avaient initialement aucune URL source. Un bouton leur attribuait ensuite le même SVG local après la première mise en page. Cela rendait l’état avant-après observable sans prétendre mesurer un réseau lent.
Les trois utilisaient une largeur CSS de 300px et une hauteur automatique. L’un n’avait aucun ratio réservé, l’autre avait width="300" height="100", et le troisième aspect-ratio: 3 / 1.
| Cas | Hauteur d’image avant | Hauteur d’image après | Déplacement du texte suivant |
|---|---|---|---|
| Aucun ratio réservé | 0px | 100px | 100px vers le bas |
| Dimensions HTML correspondantes | 100px | 100px | 0px |
| Ratio CSS correspondant | 100px | 100px | 0px |

La coordonnée supérieure du texte passait de 358.1875 à 458.1875 dans le cas sans réservation. Elle restait à 458.1875 dans les deux cas avec réservation. Chaque image chargée signalait des dimensions naturelles de 300 × 100, et sa largeur et hauteur affichées restaient également à 300 × 100.
Ce sont de véritables mesures de position d’éléments sur une page contrôlée dans un seul navigateur. L’expérience utilisait une attribution manuelle d’URL. Elle n’a enregistré ni trace de limitation réseau, ni score Core Web Vitals, ni comportement multinavigateur. En particulier, 100px de mouvement est une distance, pas un score CLS.
Vérifie le composant livré, pas seulement le fichier
Utilise le véritable placement du logo pour vérifier ta correction :
- Confirme la source. Ouvre le SVG livré et vérifie son ratio de canevas. Garde un master inchangé pour comparaison.
- Inspecte le dimensionnement initial. Vérifie que le HTML ou le CSS fournit la boîte prévue avant que les dimensions de l’image soient disponibles.
- Compare les positions des éléments. Observe un titre ou un élément de navigation voisin, pas seulement la netteté du logo.
- Vérifie après chargement. Contrôle la largeur, la hauteur et les proportions finales par rapport à la réservation.
- Essaie des conteneurs étroits et larges. Assure-toi que les règles responsives réduisent le signe proportionnellement et laissent les contrôles voisins utilisables.
Pour contrôler le chargement dans le navigateur, recharge la véritable page avec le cache désactivé et un réglage réseau approprié dans les outils de développement. Cela vérifie une autre condition que notre exemple à bouton. Si la page utilise une image à chargement différé, fais aussi défiler jusqu’à cet emplacement.
Si le mouvement persiste, identifie ce qui a changé à cet instant. Un changement de police, une bannière insérée, une rangée de navigation qui s’agrandit ou une autre image peut déplacer le logo même si sa propre boîte reste stable. Le guide web.dev distingue le dimensionnement des images des autres causes de décalage ; réserver la place d’un logo n’est pas un audit complet des performances du site.
Garde les autres problèmes SVG séparés
Une boîte d’image inchangée avec une petite bande dessous peut être un problème de ligne de texte inline. Inspecte l’affichage et l’alignement vertical séparément des dimensions réservées à l’image. Déplacer un élément dans une ligne de texte et allouer de la place à une image indisponible concernent deux moments différents de la mise en page.
Un SVG qui reste en place mais montre de grandes marges vides nécessite un contrôle de canevas ou d’ajustement. Recadrer la source pour retirer ces marges change son ratio ; mets ensuite à jour la réservation de la page. L’explication SVG en ligne et image aide aussi à identifier si tu stylises des éléments du document ou une image externe.
Si le signe original n’existe qu’en pixels, utilise le vectoriseur de logo de PerfectVector pour préparer des formes candidates éditables. Compare la silhouette et les ouvertures à la source avant de choisir le canevas de livraison ; la grille d’évaluation de qualité de vectorisation couvre ce contrôle géométrique. La vectorisation ne définit pas les dimensions HTML, le ratio CSS ou le comportement de chargement du site.
FAQ
Le viewBox d’un SVG empêche-t-il à lui seul les décalages de mise en page ? Pour une image externe, le viewBox est dans la ressource récupérée. Donne au HTML des informations de taille correspondantes pour réserver l’espace avant que les dimensions intrinsèques de l’image soient disponibles, puis vérifie le composant final.
Un logo SVG peut-il être responsive tout en gardant les attributs width et height ? Oui. Des attributs correspondants peuvent fournir le ratio prévu pendant que le CSS contrôle la largeur affichée et garde la hauteur automatique. Vérifie que le fichier livré et les règles responsives préservent ces proportions.
Un SVG net garantit-il un bon score CLS ? Non. La netteté décrit le rendu du dessin. Le CLS concerne l’instabilité de mise en page de toute la page, qui peut aussi impliquer les polices, le contenu inséré et d’autres médias. Une distance de déplacement dans un exemple contrôlé n’est pas un score CLS.
Sources
- web.dev — Optimiser le Cumulative Layout Shift — Dimensions d’image manquantes, réservation d’espace, autres causes de déplacement et distinction entre mouvement et métrique CLS.
- MDN — L’élément image HTML — Attributs width et height, dimensions naturelles de l’image et mise en page.
- MDN — aspect-ratio — Dimensionnement automatique et différence entre ratio spécifié et forme auto plus ratio.
Tu n’as qu’un logo matriciel ? Prépare un SVG éditable avec PerfectVector, vérifie les contours et le canevas, puis réserve l’espace correspondant dans la page qui l’affichera.
Plus depuis le blog

Supprime l’espace sous un SVG en ligne avec CSS
Détermine si l’espace sous ton SVG vient de la ligne HTML ou du dessin, puis choisis un affichage bloc ou un alignement en ligne et vérifie le résultat.

Logo SVG en mode sombre : qui contrôle la couleur ?
Choisis si un logo SVG suit la préférence utilisateur ou le thème de la page. Compare CSS en ligne, fichier externe adaptatif et dessin fixe dans un test de navigateur.
