IdentifiantMot de passe
Loading...
Mot de passe oublié ?Je m'inscris ! (gratuit)
Navigation

Inscrivez-vous gratuitement
pour pouvoir participer, suivre les réponses en temps réel, voter pour les messages, poser vos propres questions et recevoir la newsletter

Mise en page CSS Discussion :

SVG de longueur variable selon le contenu $text


Sujet :

CSS

  1. #1
    Membre à l'essai
    Homme Profil pro
    Retraité
    Inscrit en
    Mars 2013
    Messages
    18
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations professionnelles :
    Activité : Retraité
    Secteur : Transports

    Informations forums :
    Inscription : Mars 2013
    Messages : 18
    Points : 16
    Points
    16
    Par défaut SVG de longueur variable selon le contenu $text
    bonjour à toutes & à tous.
    j'ai un svg qui entoure un texte ("$text"), mais si le texte est plus long, je souhaiterai que le svg s'agrandisse aussi, ainsi qu'au survol de la souris :hover.

    Le svg est défini de manière empirique comme ci-dessous
    Code html : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    <div class="entoure" style="width: 175px; height: auto; ">
        <?php 
            $text= "Milieu"; 
            $long= 20*strlen($text); 
         ?>
          <svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 <?=$long ?> 45" class="svg" style="background-color: #f0a591;">
            <path d ="M <?=$long-25 ?> 43 a20 20 0 0 0  0 -40 H25 a20 20 0 1 0  0 40 " class="style1"/>
            <path d ="M 25 43 H<?=$long-25 ?>" class="style2"/>
            <g style="font-family:'Trebuchet MS', 'Lucida Sans Unicode'; font-size: 2em; fill:aqua;">
                <text class="texte" style="text-anchor:middle;  " dominant-baseline="middle" x="50%" y="56%" ><?=$text ?></text>
            </g>
        </svg>
      </div>

    avec les style css ci dessous:
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    16
    17
    18
    19
    20
    21
    22
    23
    24
    25
    26
    27
    .entoure:hover,
    .entoure:hover .svg .style1{
      	cursor: pointer;
        stroke: blue;
     
        stroke-dasharray: 325;
      stroke-dashoffset: 0;
     
    }
    .entoure:hover .svg .texte{
      fill: yellow;  /* La couleur de l’intérieur des lettres */
      stroke: red; /* La couleur du contour des lettres */
     
    }
    .style1{
      stroke : red/* transparent */;
      stroke-width: 4px;
      fill: none;
      transition-timing-function: linear;
      stroke-dashoffset: 325;
      transition: stroke-dashoffset 2s;
    }
    .style2{
      stroke : blue;
      stroke-width: 4px;
      fill: none;
    }
    ma difficulté est de modifier dynamiquement les valeurs de stroke-dasharray et de stroke-dashoffset en fonction de la longueur du $text lors du survol de la souris:
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    .entoure:hover,
    .entoure:hover .svg .style1{
     stroke-dasharray: 325;     /* en fonction de la longueur du $text */ ;
      stroke-dashoffset: 0; 	
     
    }
    .style1{
      stroke : red/* transparent */;
      stroke-width: 4px;
      fill: none;
      transition-timing-function: linear;
      stroke-dashoffset: 325; /* en fonction de la longueur du $text */
      transition: stroke-dashoffset 2s;
    }
    si vous avez une idée, je suis preneur.
    merci d'avance
    kolbyt (apprenti sorcier)

  2. #2
    Modérateur

    Avatar de NoSmoking
    Homme Profil pro
    Inscrit en
    Janvier 2011
    Messages
    16 961
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Isère (Rhône Alpes)

    Informations forums :
    Inscription : Janvier 2011
    Messages : 16 961
    Points : 44 133
    Points
    44 133
    Par défaut
    Bonjour,
    as-tu essayé de mettre des valeurs en pourcentage ?

Discussions similaires

  1. Réponses: 6
    Dernier message: 22/09/2014, 16h20
  2. [XL-2003] listbox: Plage de donnee SOURCE variable selon valeur contenue dans cellule
    Par jeo13 dans le forum Macros et VBA Excel
    Réponses: 2
    Dernier message: 24/09/2010, 22h26
  3. [champ TEXT]longueure variable ou pre-definie?
    Par hansaplast dans le forum Administration
    Réponses: 2
    Dernier message: 08/08/2006, 17h04
  4. iframe à hauteur variable selon le contenu
    Par FrankOVD dans le forum Balisage (X)HTML et validation W3C
    Réponses: 6
    Dernier message: 12/06/2006, 11h34
  5. Longueur des champs password et text selon navigateur
    Par Death83 dans le forum Balisage (X)HTML et validation W3C
    Réponses: 7
    Dernier message: 15/11/2005, 22h03

Partager

Partager
  • Envoyer la discussion sur Viadeo
  • Envoyer la discussion sur Twitter
  • Envoyer la discussion sur Google
  • Envoyer la discussion sur Facebook
  • Envoyer la discussion sur Digg
  • Envoyer la discussion sur Delicious
  • Envoyer la discussion sur MySpace
  • Envoyer la discussion sur Yahoo