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 :

Conflit de règles hover


Sujet :

Survol d'un élément en CSS (:hover)

  1. #1
    Membre du Club
    Profil pro
    Inscrit en
    mai 2007
    Messages
    81
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : mai 2007
    Messages : 81
    Points : 64
    Points
    64
    Par défaut Conflit de règles hover
    Bonjour à tous,

    J'ai dû mal à obtenir le rendu désiré d'effet hover sur un lien.
    Il s'agit d'une liste de liens <li><h3><a> mais il y a deux effets de survol qui sont en conflit : celui du bloc <li> et celui du bloc lien <a>.

    Démonstration

    L'idée c'est que lorsque je survole le bloc <li> (et pas que lors du survol de la balise <a>) le texte devienne blanc.
    Dans ma démo, il l'est qu'au survol de la balise <a> et si je passe en dehors de cette balise le texte est jaune sur fond jaune, donc invisible.

    Dois-je passer par du Jquery/Javascript ou une astuce CSS peut régler cela ?
    Question alternative, est-il préférable de passer par des <button> ?

    Un grand merci à vous ^^

  2. #2
    Membre habitué Avatar de two3d
    Homme Profil pro
    Développeur Web
    Inscrit en
    novembre 2012
    Messages
    126
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Tarn (Midi Pyrénées)

    Informations professionnelles :
    Activité : Développeur Web

    Informations forums :
    Inscription : novembre 2012
    Messages : 126
    Points : 168
    Points
    168
    Par défaut
    Bonjour,

    Je te conseil de travailler sur le :hover de la balise <a> seulement et mettre à cette balise avec un padding pour "gonfler" le lien, pour rendre les espaces autour plus grands.

    Info : il est incorrect d'utiliser des <h3> dans une liste, les h1, h2,... sont réservés aux titres de page ou de <section>, et ne doivent pas servir pour grossir un texte, pour cela on utilise l'attribut CSS font-size.

  3. #3
    Modérateur

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

    Informations forums :
    Inscription : janvier 2011
    Messages : 16 461
    Points : 42 445
    Points
    42 445
    Par défaut
    Bonjour,
    Citation Envoyé par two3d
    Info : il est incorrect d'utiliser des <h3> dans une liste, les h1, h2,...
    bien d'accord, les balises <hx> sont des balises sémantiques et ne doivent pas servir à la mise en forme surtout que tu la déstructures par derrière.


    Citation Envoyé par two3d
    Je te conseil de travailler sur le :hover de la balise <a> ...
    Effectivement, si tenté que tu aies besoin de la liste <ul>, je mettrais &également le :hover sur les éléments <a> en les déclarant en display:block.

    Le CSS suivant devrait suffire :
    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
    ul.menuLigne {
      margin: 0;
      padding: 0;
      list-style: none;
    }
    .menuLigne__item {
      display: inline-block;
    }
    .lien_jaune {
      display: block;
      padding: .5em 1em;
      text-decoration: none;
      line-height: 2;
      color: #FFDC72;
    }
    Pour ton menu il n'est pas inintéressant de lire cette discussion : Menu horizontal occupant ...

  4. #4
    Membre du Club
    Profil pro
    Inscrit en
    mai 2007
    Messages
    81
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : mai 2007
    Messages : 81
    Points : 64
    Points
    64
    Par défaut
    Un grand merci les gars ! (désolé j'avais pas pris le temps de vous remercier)

    Effectivement j'ai replacé mon :hover seulement sur la balise <a> et le tour est joué.
    Sur ce coup là j'ai pas été "le pingouin qui glisse le plus loin" !

    J'avais jamais pris conscience qu'il ne fallait pas mettre des balises <hx> dans des listes.
    J'ai un menu <nav> pour le header sur cette page mais j'imagine que ça ne pose pas problème d'en avoir plusieurs.

    Encore merci

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

Discussions similaires

  1. Conflit de règles de réécriture
    Par milman dans le forum Apache
    Réponses: 1
    Dernier message: 30/05/2011, 15h31
  2. Bordures : conflit entre hover et javascript ?
    Par vinze60 dans le forum Général JavaScript
    Réponses: 3
    Dernier message: 24/11/2010, 10h43
  3. Réponses: 1
    Dernier message: 21/01/2010, 11h06
  4. [URLRewriting] Conflit entre 2 règles
    Par ouiffi dans le forum Apache
    Réponses: 2
    Dernier message: 22/03/2007, 10h39
  5. Générer règles de conflits pour réplication
    Par dupin40 dans le forum Administration
    Réponses: 3
    Dernier message: 01/09/2003, 16h31

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