Maison  >  Article  >  interface Web  >  Comment faire en sorte que les éléments SVG se développent et se contractent avec leur conteneur parent ?

Comment faire en sorte que les éléments SVG se développent et se contractent avec leur conteneur parent ?

Patricia Arquette
Patricia Arquetteoriginal
2024-10-30 18:19:30858parcourir

How to Make SVG Elements Expand and Contract with Their Parent Container?

Développer et contracter un élément SVG vers le conteneur parent

Le défi est de garantir qu'un élément SVG se dilate ou se contracte pour correspondre aux dimensions de son conteneur parent, quelle que soit la taille du conteneur.

Solution courante : viewBox

Une solution populaire consiste à définir l'attribut viewBox sur l'élément SVG. Cependant, cela peut ne pas être efficace lorsque les éléments enfants du SVG ont des largeurs ou des hauteurs fixes.

Dimensions des éléments basées sur un pourcentage

Une approche alternative consiste à utiliser un pourcentage- largeurs et hauteurs basées sur les éléments du SVG. Cela reflète le comportement des SVG intégrés utilisant , qui se dilatent et se contractent de manière transparente malgré les dimensions spécifiques des éléments.

Réglage du pourcentage d'Inkscape

Si les dimensions basées sur un pourcentage sont préférées, pensez à modifier les paramètres par défaut d'Inkscape. Localisez l'option « Échelle » dans le menu « Objet » et activez « Échelle par : pourcentage ». Cela garantit que tous les éléments créés dans le SVG ont des dimensions basées sur un pourcentage.

Exemple de code avec des dimensions basées sur un pourcentage

Voici un exemple de code mis à jour :

<style>
    svg, #container{
        height: 100%;
        width: 100%;
    }
</style>

<div id="container">
    <svg xmlns="http://www.w3.org/2000/svg" version="1.1" >
         <rect x="0" y="0" width="10%" height="10%" />
    </svg>
</div>

Cela garantit que le rectangle dans le SVG se dilate et se contracte proportionnellement aux dimensions de son conteneur parent.

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:
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