Précédent   Forum des professionnels en informatique > Webmasters - Développement Web > CSS
CSS Forum d'entraide sur l'utilisation des feuilles de style CSS. Avant de poster : Cours CSS, FAQ CSS, Galerie CSS
Partagez cette discussion sur d'autres réseaux sociaux : Viadeo Twitter Google Facebook Digg Delicious MySpace Yahoo
Réponse Proposer ce sujet en actualité
 
Outils de la discussion
Publicité
'
Vieux 15/02/2011, 16h48   #1
Candidat au titre de Membre du Club
 
Inscription : juin 2009
Messages : 52
Détails du profil
Informations forums :
Inscription : juin 2009
Messages : 52
Points : 14
Points : 14
Par défaut Event et action sur classe distante

Bonjour a tous, je voudrais savoir si il est possible avec css3 de modifier un:hover sur une autre classe

ex:
on a un hover sur la classe tata et ce qui va entrainer une modification de titi
Code :
1
2
3
4
5
6
7
 
<div class="toto">
<div class="tata">
</div>
<div class="titi">
</div>
</div>
Car avec les transition du CSS3, ça pourrait éviter bcp de JS...

Merci pour les infos, a bientôt.
papaye0 est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 15/02/2011, 21h56   #2
Rédacteur/Modérateur
 
Homme Jérome Debray
Responsable de projet
Inscription : mai 2009
Messages : 627
Détails du profil
Informations personnelles :
Nom : Homme Jérome Debray
Âge : 32
Localisation : France

Informations professionnelles :
Activité : Responsable de projet
Secteur : High Tech - Multimédia et Internet

Informations forums :
Inscription : mai 2009
Messages : 627
Points : 3 064
Points : 3 064
En CSS2, il existe le selecteur "+".
Par exemple E+F correspond à tout élément F immédiatement précédé par un élément E.

A partir de là, un :hover de "tata" modifiant "titi" se traduirait par :
Code css :
1
2
3
4
 
.tata:hover+.titi{
   ...
}

Exemple pour ta structure HTML (avec transition) :
Code css :
1
2
3
4
5
6
7
8
9
10
11
12
13
14
 
.titi, .tata{
	width:100px;
	height:20px;
	margin:10px;
	background:#999;
	-webkit-transition:all 0.6s ease-in;
	-moz-transition:all 0.6s ease-in;
	-o-transition:all 0.6s ease-in;
	transition:all 0.6s ease-in;
}
.tata:hover+.titi{
	background:#069;
}
ornitho13 est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 22/02/2011, 02h03   #3
Candidat au titre de Membre du Club
 
Inscription : juin 2009
Messages : 52
Détails du profil
Informations forums :
Inscription : juin 2009
Messages : 52
Points : 14
Points : 14
merci ca marche très bien, mais en réalité j'ai confondu avec un autre code ce que je cherche précisément donne ça :
Code :
1
2
3
4
5
6
7
8
9
 
<div id="nav">
<div class="toto" id="1">blablabla<div>
<div class="toto" id="2">blablabla<div>
<div class="toto" id="3">blablabla<div>
<div class="toto" id="4">blablabla<div>
<div class="toto" id="5">blablabla<div>
<div class="toto" id="6">blablabla<div>
</div>
lors d'un hover tout les autres passe en opacity 0, mais si je passe sur #1, #2 reste en opacity 1 comme #1

et je ne vois pas trop comment faire proprement

EDIT :
Quel idiot, ce doit étre la fatigue ....

Code :
1
2
3
4
5
6
div#nav:hover div {
  color: rgba(0, 0, 0, 0.5)
}
div#nav:hover div:hover, nav:hover div:hover+#2 {
  color: rgba(0, 0, 0, 1)
}
le seul problème qu'il reste .... est de garder #1 avec 1 en opacity color lors du survol de la div#2 et la ... je bloque !
papaye0 est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 22/02/2011, 08h57   #4
Rédacteur/Modérateur
 
Homme Jérome Debray
Responsable de projet
Inscription : mai 2009
Messages : 627
Détails du profil
Informations personnelles :
Nom : Homme Jérome Debray
Âge : 32
Localisation : France

Informations professionnelles :
Activité : Responsable de projet
Secteur : High Tech - Multimédia et Internet

Informations forums :
Inscription : mai 2009
Messages : 627
Points : 3 064
Points : 3 064
Tu n'es pas loin de la solution.
Le problème vient de tes instructions CSS. Il y a 2 fois des hovers un peu partout.

De plus il y a des erreurs dans ton code HTML (pas de balise fermante sur les div à l'intérieur de #nav)

Essaye ceci:
Code html :
1
2
3
4
5
6
7
8
9
 
<div id="nav">
	<div class="toto" id="1">blablabla</div>
	<div class="toto" id="2">blablabla</div>
	<div class="toto" id="3">blablabla</div>
	<div class="toto" id="4">blablabla</div>
	<div class="toto" id="5">blablabla</div>
	<div class="toto" id="6">blablabla</div>
</div>
Code css :
1
2
3
4
 
#nav div:hover+div {
	color: rgba(0, 0, 0, 0.5);
}

Un autre conseil, évite de commencer le nom de tes ID par un chiffre, ce n'est pas valide W3C.
ornitho13 est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 03/03/2011, 13h24   #5
Candidat au titre de Membre du Club
 
Inscription : juin 2009
Messages : 52
Détails du profil
Informations forums :
Inscription : juin 2009
Messages : 52
Points : 14
Points : 14
je m'exprimais mal
mais au final j'ai trouvé, avec l'aide de css3 (merci au infini pages du w3c ...)

papaye0 est déconnecté   Envoyer un message privé Réponse avec citation 00
Réponse Proposer ce sujet en actualité Cette discussion est résolue.
Outils de la discussion



Fuseau horaire GMT +2. Il est actuellement 13h33.


 
 
 
 
Partenaires

Hébergement Web