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 :

Selecteur CSS pour agir sur balise parent.


Sujet :

CSS

  1. #1
    Membre à l'essai
    Profil pro
    Inscrit en
    Mai 2004
    Messages
    27
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Mai 2004
    Messages : 27
    Points : 24
    Points
    24
    Par défaut Selecteur CSS pour agir sur balise parent.
    Bonjour a tous,

    Voila mon probleme:
    imaginons un bout de code comme ca:
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    <span class="pwet"><a href="#">lien<a/></span>
    J'aimerai ecrire un style pour que lorsque je passe la souris au dessus du lien, les bordures de la balise span apparaissent.

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
     
    span.pwet a:hover {
    border: solid black thin;
    }
    A l'évidence je peux pas faire cela avec ce selecteur puisque ce seront les bordures du lien que je verrai apparaître ... D'ailleur peut être n'y a t-il aucun moyen de faire cela ??

    Merci pour vos réponse.

  2. #2
    Rédacteur
    Avatar de marcha
    Homme Profil pro
    Développeur Web
    Inscrit en
    Décembre 2003
    Messages
    1 571
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 53
    Localisation : Suisse

    Informations professionnelles :
    Activité : Développeur Web

    Informations forums :
    Inscription : Décembre 2003
    Messages : 1 571
    Points : 2 351
    Points
    2 351
    Par défaut
    Salut,

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
     
    span.pwet:hover {
    border: solid black thin;
    }
    Mais le fait de passer hors du lien et sur le span va produire le hover !
    Ce que tu souhaite peut-être éviter ?

    C'est pas compatible IE6, sauf si tu utilise csshover.htc

    sinon c'est faisable en javascript

  3. #3
    Membre à l'essai
    Profil pro
    Inscrit en
    Mai 2004
    Messages
    27
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Mai 2004
    Messages : 27
    Points : 24
    Points
    24
    Par défaut
    Merci pour ta réponse,

    En fait oui, ce que je veux faire peux etre éviter, mais c'était une question un peu plus général, je voulais savoir si il existait un moyen d'agir sur une balise parent en utilisant une pseudo class style hover ou active.

    Donc dans mon cas agir sur les propriétés de la balise span alors que la class :hover est appliqué a la balise "a".

    Mais a y reflechir d'un peu plus pres, en faisant que du CSS je suis pas sur que ce soit possible ... Quelqu'un à une réponse pour moi ?

    Merci d'avance

  4. #4
    Membre éclairé Avatar de fallais
    Homme Profil pro
    Ingénieur systèmes et réseaux
    Inscrit en
    Juillet 2006
    Messages
    858
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations professionnelles :
    Activité : Ingénieur systèmes et réseaux

    Informations forums :
    Inscription : Juillet 2006
    Messages : 858
    Points : 783
    Points
    783
    Par défaut
    Citation Envoyé par TronsoT
    Donc dans mon cas agir sur les propriétés de la balise span alors que la class :hover est appliqué a la balise "a".
    Je crois que c'est possible

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    .menu a:link, .menu a:active, .menu a:visited {
    display: block;
    color: #294067;
    text-decoration: none;
    font-weight: bold;
    border-width: 0px;
    border: 1px solid #FFFFFF;
    padding-top: 2px;
    padding-bottom: 2px;
     
    }
    Ce code aura pour effet d'appliquer les conditions a un lien dans un div class="menu">. Maintenant a toi de l'adapter a ton cas En esperant avoir comprit ton probleme

  5. #5
    Rédacteur
    Avatar de marcha
    Homme Profil pro
    Développeur Web
    Inscrit en
    Décembre 2003
    Messages
    1 571
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 53
    Localisation : Suisse

    Informations professionnelles :
    Activité : Développeur Web

    Informations forums :
    Inscription : Décembre 2003
    Messages : 1 571
    Points : 2 351
    Points
    2 351
    Par défaut
    Elwyn, je crain que tu n'aie pas compris son problème

    TronsoT, j'ai cherché un peu, et je crois pas prendre trop de risque
    en te disant que même css3 ne propose pas de solution à ton problème.

  6. #6
    Membre éclairé Avatar de fallais
    Homme Profil pro
    Ingénieur systèmes et réseaux
    Inscrit en
    Juillet 2006
    Messages
    858
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations professionnelles :
    Activité : Ingénieur systèmes et réseaux

    Informations forums :
    Inscription : Juillet 2006
    Messages : 858
    Points : 783
    Points
    783
    Par défaut
    Oups dsl alors ...

  7. #7
    Membre à l'essai
    Profil pro
    Inscrit en
    Mai 2004
    Messages
    27
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Mai 2004
    Messages : 27
    Points : 24
    Points
    24
    Par défaut
    Ok, merci pour ta réponse marcha, Je ne met pas résolu tout de suite au cas où quelqu'un aurait une précision a donner.

    Merci et tanpis pour moi

  8. #8
    Rédacteur
    Avatar de marcha
    Homme Profil pro
    Développeur Web
    Inscrit en
    Décembre 2003
    Messages
    1 571
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 53
    Localisation : Suisse

    Informations professionnelles :
    Activité : Développeur Web

    Informations forums :
    Inscription : Décembre 2003
    Messages : 1 571
    Points : 2 351
    Points
    2 351
    Par défaut
    Oui, j'aimerai aussi savoir si c'est possible :-)

    Si une solution en javascript t'interresse tu dis.

  9. #9
    Rédacteur
    Avatar de MasterOfChakhaL
    Homme Profil pro
    Développeur Web
    Inscrit en
    Juin 2004
    Messages
    2 147
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 44
    Localisation : France

    Informations professionnelles :
    Activité : Développeur Web

    Informations forums :
    Inscription : Juin 2004
    Messages : 2 147
    Points : 3 264
    Points
    3 264
    Par défaut
    A ma connaissance, les sélecteurs existants sont tous descendants...

    A mon avis, des selecteurs qui remontent aux parents n'existent pas. Si ca existe je veux bien savoir...

  10. #10
    Membre à l'essai
    Profil pro
    Inscrit en
    Mai 2004
    Messages
    27
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Mai 2004
    Messages : 27
    Points : 24
    Points
    24
    Par défaut
    Oui marcha, je veux bien voir ta solution en javascript, merci

  11. #11
    Membre confirmé Avatar de masu
    Inscrit en
    Février 2004
    Messages
    428
    Détails du profil
    Informations forums :
    Inscription : Février 2004
    Messages : 428
    Points : 484
    Points
    484
    Par défaut
    En js ca peu donner quelquechose comme ca.
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    <span class="pwet" id="test_parent"><a href="#" onmouseover(document.getElementById('test_parent').className='pwetHover');" onmouseout(document.getElementById('test_parent').className='pwet');">lien<a/></span>
    ensuite tu as ton css pour la class pwetHover
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    .pwetHover {
    border: solid black thin;
    }
    ---------------------------------------
    edit: oui effectivement c'est bien className, j'ai fait le code en live sans tester et je me suis planté désolé

  12. #12
    Rédacteur
    Avatar de marcha
    Homme Profil pro
    Développeur Web
    Inscrit en
    Décembre 2003
    Messages
    1 571
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 53
    Localisation : Suisse

    Informations professionnelles :
    Activité : Développeur Web

    Informations forums :
    Inscription : Décembre 2003
    Messages : 1 571
    Points : 2 351
    Points
    2 351
    Par défaut
    Ouch, masu m'est passé devant (mais c'est className, pas class)

    Alors voici une autre solution un peu différente mais sur le même principe,
    qui ne nécessite pas d'avoir une class css définie pour faire la modif (ça
    n'est pas un avantage, si la class existe, utilise la solution de masu)

    Par contre ici, j'exploite parentNode, ce qui permet d'obtenir une référence
    sur l'élément parent du lien sans avoir à lui donner un id. Ce qui peut te
    simplifier la vie si tu as bcp de liens dans des spans.

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
     
    <script language='javascript' type='text/javascript'>
    function setBorder(element, value) {
    	element.style.border = value;
    }
    </script>
    <span style='padding: 40px; background-color: blue' class='truc'>
    	<a href='#' style='background-color: yellow'
    	   onmouseover='setBorder(this.parentNode, "3px solid red");' 
    	   onmouseout='setBorder(this.parentNode, "none");'>un lien</a>
    </span>

  13. #13
    Membre à l'essai
    Profil pro
    Inscrit en
    Mai 2004
    Messages
    27
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Mai 2004
    Messages : 27
    Points : 24
    Points
    24
    Par défaut
    Ok, tres bien, merci pour vos solutions, j'aime bien le parentNode.

    Salut

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

Discussions similaires

  1. [AJAX] agir sur balise cdata dans fichier xml
    Par arnlig3550 dans le forum AJAX
    Réponses: 6
    Dernier message: 05/07/2013, 11h24
  2. Réponses: 20
    Dernier message: 19/09/2012, 15h56
  3. Réponses: 6
    Dernier message: 29/03/2012, 16h57
  4. [CSS] balise div et css pour eviter les framesets
    Par jfjava2002 dans le forum Mise en page CSS
    Réponses: 1
    Dernier message: 24/03/2006, 11h56
  5. quel language utiliser pour agir sur un log automatiquent
    Par qegukom dans le forum Langages de programmation
    Réponses: 3
    Dernier message: 05/08/2004, 21h00

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