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 :

Changer un élément sans l'utiliser dans le CSS [CSS 3]


Sujet :

CSS

  1. #1
    Membre très actif
    Homme Profil pro
    Developpeur Logiciel
    Inscrit en
    Mai 2016
    Messages
    108
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 28
    Localisation : France, Bas Rhin (Alsace)

    Informations professionnelles :
    Activité : Developpeur Logiciel
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Mai 2016
    Messages : 108
    Par défaut Changer un élément sans l'utiliser dans le CSS
    Bonjour à tous
    Je ne savais pas comment appelé ce sujet mais en gros ce que j'aimerai faire c'est changer un élément de couleur grâce au CSS sans passer par le nom de cet élément
    exemple :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
     
    .st0:hover{
        fill: #353Bd2;
    }
     
    text:hover{
        .st0 : fill:#353Bd2;
    }
    La j'aimerai changer la couleur de l'élément st0 en le survolant et en survolant le text, ext ce que c'est possible ?

    merci d'avance

  2. #2
    Expert confirmé
    Avatar de mathieu
    Profil pro
    Inscrit en
    Juin 2003
    Messages
    10 704
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Juin 2003
    Messages : 10 704
    Par défaut
    est ce que l'élément text concerné est inclus dans l'élément ".st0" ?

  3. #3
    Membre très actif
    Homme Profil pro
    Developpeur Logiciel
    Inscrit en
    Mai 2016
    Messages
    108
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 28
    Localisation : France, Bas Rhin (Alsace)

    Informations professionnelles :
    Activité : Developpeur Logiciel
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Mai 2016
    Messages : 108
    Par défaut
    non il est a part
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
     
    <path class="st0" d="M174,1038.5h-15.5c-4.1,0-7.5-3.4-7.5-7.5v-25c0-4.1,3.4-7.5,7.5-7.5H174c4.1,0,7.5,3.4,7.5,7.5v25
    	C181.5,1035.1,178.1,1038.5,174,1038.5z"/>
    <text transform="matrix(1 0 0 1 50.4775 1176.1666)" class="st1 st2">1</text>

  4. #4
    Invité
    Invité(e)
    Par défaut
    Bonjour,

    dans l'acronyme CSS, il y a le C pour "Cascade".
    Donc, en descendant.

    Dans ton code, l'élément de classe "st0" est placé AVANT le <text>.
    Donc, ça ne va pas. On ne peut pas remonter la cascade.

    Si les éléments était placés dans l'ordre inverse, on aurait pu écrire :

    Code css : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    .st0:hover, text:hover + .st0 {
        fill:#353Bd2;
    }
    Dernière modification par Invité ; 23/03/2017 à 20h13.

  5. #5
    Membre très actif
    Homme Profil pro
    Developpeur Logiciel
    Inscrit en
    Mai 2016
    Messages
    108
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 28
    Localisation : France, Bas Rhin (Alsace)

    Informations professionnelles :
    Activité : Developpeur Logiciel
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Mai 2016
    Messages : 108
    Par défaut
    Que veut tu dire par si les éléments était placés dans l'ordre inverse ? quels éléments ?

  6. #6
    Invité
    Invité(e)
    Par défaut
    Dans cet ordre :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    <text transform="matrix(1 0 0 1 50.4775 1176.1666)" class="st1 st2">1</text>
     
    <path class="st0" d="................"/>

  7. #7
    Membre très actif
    Homme Profil pro
    Developpeur Logiciel
    Inscrit en
    Mai 2016
    Messages
    108
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 28
    Localisation : France, Bas Rhin (Alsace)

    Informations professionnelles :
    Activité : Developpeur Logiciel
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Mai 2016
    Messages : 108
    Par défaut
    Citation Envoyé par jreaux62 Voir le message
    Dans cet ordre :
    Il m'arrive juste un problème bizarre, le texte est passé derrière le path et je ne le vois plus
    Ce qui veut dire qu'il n'y aurait aucun moyen ?

  8. #8
    Membre très actif
    Homme Profil pro
    Developpeur Logiciel
    Inscrit en
    Mai 2016
    Messages
    108
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 28
    Localisation : France, Bas Rhin (Alsace)

    Informations professionnelles :
    Activité : Developpeur Logiciel
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Mai 2016
    Messages : 108
    Par défaut
    J'ai put trouver un moyen de contourné le problème
    code CSS :
    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
     
    .st0{
        fill: #a4ced2;
        transition : fill 0.3s;
        opacity: 0.01;  
    }
     
    .st0:hover{
        fill:#353Bd2;
        opacity: 0.8;  
    }
     
    .st02{
        fill: #a4ced2;
        transition : fill 0.3s;
        stroke:#000;
    }
    Le code html :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
     
    <path class="st02" d="........."/>
    <text transform="matrix(1 0 0 1 50.4775 1176.1666)" class="st1 st2">1</text>
    <path class="st0" d="........."/>
    en gros étant que le hover sur l'élément en premier plan, j'ai mis le path st0 en premier plan mais en transparence(0.01) ensuite le texte puis de nouveau le même path sauf que je l'ai renommer en class : st02 et avec le CSS je le met de la couleur que je veux.
    Comme ca quand je passe ma souris je change juste le path du premier plan

    En tout merci pour vos réponses

  9. #9
    Invité
    Invité(e)
    Par défaut
    A priori, on doit pouvoir s'en sortir avec un <div> englobant (mais je ne connais pas la syntaxe que tu utilises) :

    Code html : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    <div class="machin">
      <text transform="matrix(1 0 0 1 50.4775 1176.1666)" class="st1 st2">1</text>
      <path class="st0" d="........."/>
    </div>

    Code css : Sélectionner tout - Visualiser dans une fenêtre à part
    div.machin:hover text, div.machin:hover .st0 {...}

  10. #10
    Modérateur

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

    Informations forums :
    Inscription : Janvier 2011
    Messages : 17 233
    Par défaut
    Bonjour,
    il existe la balise <g> pour faire un regroupement.
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    g:hover element{
      /* on fait ce qu'il y a à faire */
    }

+ Répondre à la discussion
Cette discussion est résolue.

Discussions similaires

  1. Changer dynamiquement une règle de style dans la CSS
    Par siddh dans le forum Téléchargez
    Réponses: 2
    Dernier message: 01/12/2014, 11h18
  2. i18n - est il possible de changer de langue sans le voir dans l'url ?
    Par Chico el guacamole dans le forum GWT et Vaadin
    Réponses: 3
    Dernier message: 07/06/2010, 12h46
  3. Changer d'attribut sans changer dans la base
    Par ceymoi dans le forum Langage SQL
    Réponses: 4
    Dernier message: 02/12/2008, 16h11
  4. Utiliser une DLL sans le .LIB dans Visual Studio 2005
    Par lekernel dans le forum Visual C++
    Réponses: 5
    Dernier message: 02/08/2007, 09h54

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