J'ai un SVG que j'essaye de centrer dans un div. Le div a une largeur ou 900px. Le SVG a une largeur de 400 pixels. Le SVG a sa marge gauche et sa marge droite réglées sur auto. Ne fonctionne pas, il agit simplement comme si la marge gauche est 0 (par défaut).
Quelqu'un connaît mon erreur?
td
, pas undiv
Les réponses ci-dessus n'ont pas fonctionné pour moi. L'ajout de l'attribut
preserveAspectRatio="xMidYMin"
à la<svg>
balise a cependant fait l'affaire. L'viewBox
attribut doit être spécifié pour que cela fonctionne également. Source: réseau de développeurs Mozillala source
.container { display: flex; justify-content: center; }
Et ajoutez la classe .container à la div qui contient votre svg.Après avoir lu ci-dessus que svg est en ligne par défaut, je viens d'ajouter ce qui suit à la div:
et ça a fait l'affaire pour moi.
Les puristes peuvent ne pas l'aimer (c'est une image, pas du texte) mais à mon avis HTML et CSS ont foiré le centrage, donc je pense que c'est justifié.
la source
Aucune de ces réponses n'a fonctionné pour moi. Voilà comment je l'ai fait.
la source
left: 100%
Les réponses ci-dessus semblent incomplètes car elles ne parlent que du point de vue CSS.
le positionnement du svg dans la fenêtre est affecté par deux attributs svg
Suivez ce lien de codepen pour une description détaillée
la source
Je devais utiliser
la source
assurez-vous que votre css lit:
Même si vous dites que la gauche et la droite sont définies sur auto, vous pouvez placer une erreur. Bien sûr, nous ne le saurions pas car vous ne nous avez montré aucun code.
la source
Vous pouvez également le faire:
la source
Mettez votre code entre ceci
div
si vous utilisez le bootstrap :la source
Flexbox est une autre approche: ajouter
.container { display: flex; justify-content: center; }
et ajouter la.container
classe à la div qui contient votre svg.la source
Pour moi, le correctif consistait à ajouter
margin: 0 auto;
sur l'élément contenant le<svg>
.Comme ça:
la source