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 de couleur des <tr> au passage de la souris


Sujet :

CSS

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Membre éclairé
    Inscrit en
    Avril 2007
    Messages
    521
    Détails du profil
    Informations forums :
    Inscription : Avril 2007
    Messages : 521
    Par défaut Changer de couleur des <tr> au passage de la souris
    Bonjour, j'ai un code du style
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    <tr >
    <td >Titi</td>
    <td >Tata</td>
    </tr>
    je voudrais que lors du passage de la souris, j'ai la couleur de fond de tata et titi qui change en même temps. mon css est
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
     TD.survol:hover{
    	background-color: #FF6600 ;
    	/*text-decoration: underline ;*/
    	}
    et mon html
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    <tr >
    <td class=survol>Titi</td>
    <td class=survol>Tata</td>
    </tr>
    mais ce code change juste la couleur de Titi et Tata séparément hors je voudrais que lorsque ma souris est sur tata ou titi que toutes la ligne change de couleur de fond.
    Quand j'écris
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
     TR.survol:hover{
    	background-color: #FF6600 ;
    	/*text-decoration: underline ;*/
    	}
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    <tr class=survol>
    <td >Titi</td>
    <td >Tata</td>
    </tr>
    rien ne se passe.

  2. #2
    Membre averti
    Inscrit en
    Avril 2008
    Messages
    48
    Détails du profil
    Informations forums :
    Inscription : Avril 2008
    Messages : 48
    Par défaut
    Salut,
    Essaye ça :
    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
     <style type="text/css">
    	table {border-spacing:0px 10px;}
    	tr:hover{background-color:red;}
    </style>
    </head>
     
    <body>
    <table>
    	<tr>
    		<td >Titi</td>
    		<td >Tata</td>
    	</tr>
    </table>
    </body>
    </html>

  3. #3
    Rédacteur
    Avatar de Macmillenium
    Homme Profil pro
    Développeur front-end
    Inscrit en
    Mars 2008
    Messages
    2 333
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 39
    Localisation : France, Paris (Île de France)

    Informations professionnelles :
    Activité : Développeur front-end
    Secteur : High Tech - Produits et services télécom et Internet

    Informations forums :
    Inscription : Mars 2008
    Messages : 2 333
    Par défaut
    Bonjour,

    Rajoute un border-collapse:collapse; sur ton table.

    Pourtant la solution a déjà été proposée.

  4. #4
    Membre éclairé
    Inscrit en
    Avril 2007
    Messages
    521
    Détails du profil
    Informations forums :
    Inscription : Avril 2007
    Messages : 521
    Par défaut
    en fait je ne veux pas mélanger le css et le html mais avoir deux fichiers distinct comme actuellement ce qui fait que ce que tu m'a passé est exactement ce que j'ai déjà avec la balise tr sauf que tu as rajouté table mais ça ne change pas grand chose à mon problème, je continue de chercher de mon côté

  5. #5
    Membre éclairé
    Inscrit en
    Avril 2007
    Messages
    521
    Détails du profil
    Informations forums :
    Inscription : Avril 2007
    Messages : 521
    Par défaut
    justement Macmillenium j'avais bien vu que s'était la solution mais j'ai du mal à mettre en relation le code js et le css et le html surtout que dans le code js que tu m'avais déjà passé je ne comprend pas comment tu arrives à faire un for hors d'une fonction
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
     
    var MesBeauxTr = document.getElementById('ConteneurTr').getElementsByTagName('tr');
     
    	for (var i=0;i<MesBeauxTr.length;i++)
    	{
    		MesBeauxTr[i].onmouseover = SurvolerTr;
    		MesBeauxTr[i].onmouseout = QuitterTr;
    	}
    à moins que ça puisse se faire en js dont je suis novice

  6. #6
    Rédacteur
    Avatar de Macmillenium
    Homme Profil pro
    Développeur front-end
    Inscrit en
    Mars 2008
    Messages
    2 333
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 39
    Localisation : France, Paris (Île de France)

    Informations professionnelles :
    Activité : Développeur front-end
    Secteur : High Tech - Produits et services télécom et Internet

    Informations forums :
    Inscription : Mars 2008
    Messages : 2 333
    Par défaut
    Code javascript : 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
    28
    29
     
    function hoverTr() {
     
    var MesBeauxTr = document.getElementById('ConteneurTr').getElementsByTagName('tr');
     
    	for (var i=0;i<MesBeauxTr.length;i++)
    	{
    		MesBeauxTr[i].onmouseover = SurvolerTr;
    		MesBeauxTr[i].onmouseout = QuitterTr;
    	}
     
    	function SurvolerTr() {
    		if (document.all) {
    			this.style.cssText ='background-color:#900;'
    		}
    		else {
    			this.setAttribute('style', 'background-color:#900')
    		}
    	}
     
    	function QuitterTr() {
    		if (document.all) {
    			this.style.cssText ='background-color:<?php echo $BGCOLOR ?>;'
    		}
    		else {
    			this.setAttribute('style', 'background-color:<?php echo $BGCOLOR ?>')
    		}
    	}
     }

    Code html : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    
    ...
    <body onload="hoverTr()">
    ...
    
    
    <table id="ConteneurTr">
      <tr>
          <td>Titi</td>
          <td>Tata</td>
      </tr>
    <table>

    C'est tout

  7. #7
    Membre averti
    Inscrit en
    Avril 2008
    Messages
    48
    Détails du profil
    Informations forums :
    Inscription : Avril 2008
    Messages : 48
    Par défaut
    CSS:
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    table {border-spacing:0px 10px;}
    tr.survolRed:hover{background-color:red;}
    tr.survolGreen:hover{background-color:green;}
    Le border collapse n'est pas obligatoire car j'ai mis le border-spacing (ici juste horizontal) à 0;

    HTML:
    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
     
    <table>
      <tr class="survolRed">
    	<td >Titi</td>
    	<td >Tata</td>
      </tr>
      <tr class="survolGreen">
    	<td >toto</td>
    	<td >tete</td>
      </tr>
      <tr class="survolRed">
    	<td >tutu</td>
    	<td >tyty</td>
      </tr>
    </table>
    De cette maniere, au survol d'un element, toute la ligne est changée.
    Est ce bien ce que tu veux?

  8. #8
    Rédacteur
    Avatar de Macmillenium
    Homme Profil pro
    Développeur front-end
    Inscrit en
    Mars 2008
    Messages
    2 333
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 39
    Localisation : France, Paris (Île de France)

    Informations professionnelles :
    Activité : Développeur front-end
    Secteur : High Tech - Produits et services télécom et Internet

    Informations forums :
    Inscription : Mars 2008
    Messages : 2 333
    Par défaut
    Citation Envoyé par radagast35 Voir le message
    Le border collapse n'est pas obligatoire car j'ai mis le border-spacing (ici juste horizontal) à 0;
    border-spacing ne fonctionne pas sous IE7 et versions inférieures, d'où l'intérêt d'utiliser border-collapse + padding sur les <td>.

    Il ne faut pas oublier de préciser que :hover ne fonctionne que sur les éléments <a> sous IE6 et versions inférieures => passage obligatoire par le JS dans ce cas.

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

Discussions similaires

  1. [CS4] Changer la couleur d'un texte lors du passage de la souris
    Par loubiak67 dans le forum Dreamweaver
    Réponses: 4
    Dernier message: 08/01/2010, 01h46
  2. changer les couleurs des frames
    Par jack_1981 dans le forum Balisage (X)HTML et validation W3C
    Réponses: 3
    Dernier message: 08/12/2005, 16h26
  3. Changer la couleur des onglets de pagecontrol
    Par Death83 dans le forum C++Builder
    Réponses: 13
    Dernier message: 09/10/2005, 12h11
  4. changer la couleur des liens
    Par MANU_2 dans le forum Général JavaScript
    Réponses: 20
    Dernier message: 21/09/2005, 12h01
  5. [NetBeans] Changer la couleur des commentaires
    Par Lorenzox dans le forum NetBeans
    Réponses: 3
    Dernier message: 15/12/2004, 08h50

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