Partage
  • Partager sur Facebook
  • Partager sur Twitter

a:hover

    9 août 2018 à 15:09:24

    Bonsoir !

    J'aimerais qu'en faite, quant on survol un lien, donc a:hover, deux balise <hr> passe de width 70% à width 100%, et je pense que cela est simple mais je ne trouve pas :x

    Merci !

    • Partager sur Facebook
    • Partager sur Twitter
      9 août 2018 à 15:14:09

      Possible uniquement si les <hr> se trouvent dans la balise concernée par le hover (a). Sinon c'est impossible en CSS pur.

      -
      Edité par Genroa 9 août 2018 à 15:14:40

      • Partager sur Facebook
      • Partager sur Twitter
      /!\ Si je cesse de répondre c'est parce que vous êtes venus poster sans avoir suivi les cours de base sur le sujet. /!\
        9 août 2018 à 15:25:52

        Bonjour, 

        en résumé :

        C'est faisable, selon le contexte, de plusieurs manières :
        - A:hover B (si B est descendant de A)
        - A:hover > B (si B est fils de A)
        - A:hover + B (si B est frère directement suivant de A)
        - A:hover ~ B (si B est un frère suivant de A)

        source : https://forum.alsacreations.com/topic-4-62016-1-Action-dune-balise-sur-une-autre-balise.html

        • Partager sur Facebook
        • Partager sur Twitter
          9 août 2018 à 15:28:59

          Salut,

          et utilise plutôt des div que des <hr> qui ont un sens sémantique.

          • Partager sur Facebook
          • Partager sur Twitter
          Vous cherchez à faire un menu déroulant ? Visitez www.frogweb.fr ! frogweb le site qu'il vous faut !
            9 août 2018 à 16:00:35

            Hum en effet je ne suis pas un expert expert alors je vous partage mon code pour que vous voyez un petit peut l'histoire

            https://jsfiddle.net/Lsjez7m2/8/

            Je veux en effet que quant on passe sur 1 ( par exemple ) le hr du dessous passe en 100%

            Ou encore si je passe sur le 2 le hr du dessus et du dessous passe en 100% et non pas en 70%

            -
            Edité par SocomLeGrand 9 août 2018 à 16:01:57

            • Partager sur Facebook
            • Partager sur Twitter
              9 août 2018 à 16:05:01

              Je pense que ChrisLebure t'a donné la solution plus haut :

              - A:hover + B (si B est frère directement suivant de A)

              et tu peux faire sans hr avec une simple bordure.

              -
              Edité par Frogweb 9 août 2018 à 16:10:01

              • Partager sur Facebook
              • Partager sur Twitter
              Vous cherchez à faire un menu déroulant ? Visitez www.frogweb.fr ! frogweb le site qu'il vous faut !
                9 août 2018 à 16:08:50

                Je suis sur que cela est facile, je peux paraître bête mais je ne comprend pas ???
                • Partager sur Facebook
                • Partager sur Twitter
                  9 août 2018 à 16:12:54

                  a:hover + hr {...}
                  • Partager sur Facebook
                  • Partager sur Twitter
                  Vous cherchez à faire un menu déroulant ? Visitez www.frogweb.fr ! frogweb le site qu'il vous faut !
                    9 août 2018 à 16:19:09

                    Ok vu, ça marche mais que pour le 1, c'est a dire quant on passe sur le 2, je voudrais que la ligne du dessus et du dessous s'agrandisse hros, seulement celle du bas le fait.
                    • Partager sur Facebook
                    • Partager sur Twitter
                      9 août 2018 à 16:21:55

                      SocomLeGrand a écrit:

                      Ok vu, ça marche mais que pour le 1, c'est a dire quant on passe sur le 2, je voudrais que la ligne du dessus et du dessous s'agrandisse hros, seulement celle du bas le fait.

                      Là c'est impossible pour la ligne du dessus. Tu ne peux pas remonter dans le dom en CSS (à part avec un clic).

                      Je vais me pencher sur ton idée, j'entrevois une solution avec des bordures. Mais je ne te promets rien.

                      -
                      Edité par Frogweb 9 août 2018 à 16:25:14

                      • Partager sur Facebook
                      • Partager sur Twitter
                      Vous cherchez à faire un menu déroulant ? Visitez www.frogweb.fr ! frogweb le site qu'il vous faut !
                        9 août 2018 à 16:23:20

                        Tu sembles vouloir faire un affichage de type accordéon. C'est impossible en CSS pur sans JS à ma connaissance.
                        • Partager sur Facebook
                        • Partager sur Twitter
                        /!\ Si je cesse de répondre c'est parce que vous êtes venus poster sans avoir suivi les cours de base sur le sujet. /!\
                          9 août 2018 à 16:23:43

                          Même pas si on joue avec les class et que je met pour chaque ligne une class differente ?
                          • Partager sur Facebook
                          • Partager sur Twitter
                            9 août 2018 à 16:26:05

                            Je vais faire des tests, j'ai une petite idée...

                            EDIT :

                            c'est tordu mais il me semble que ça fait ce que tu cherche :

                                <div>
                                    <a href="#" class="normal">mon lien</a>
                                    <a href="#" class="border-top">mon lien</a>
                                    <a href="#" class="border-top">mon lien</a>
                                    <a href="#" class="border-top">mon lien</a>
                                </div>
                            div {
                                width:300px;
                            }
                            a {
                                text-decoration: none;
                                display:block;
                                padding:20px 0;
                                width:60%;
                                margin:auto;
                                text-align: center;
                            }
                            .border-top {
                                border-top: 1px solid #333
                            }
                            a:hover, 
                            .border-top:hover + .border-top,
                            .normal:hover + .border-top {
                                width:auto;
                            }

                            -
                            Edité par Frogweb 9 août 2018 à 16:34:29

                            • Partager sur Facebook
                            • Partager sur Twitter
                            Vous cherchez à faire un menu déroulant ? Visitez www.frogweb.fr ! frogweb le site qu'il vous faut !
                              9 août 2018 à 16:44:42

                              "Même pas si on joue avec les class et que je met pour chaque ligne une class differente ?"

                              J'pense que si tu fais ça tu peux arrêter le CSS et ne plus jamais écrire de dev web, et que tu vas faire tomber en dépression plein de monde. x) plus sérieusement, les classes sont conçues pour être réutilisables. :) Tu ne sais pas forcément combien de lignes tu vas avoir dans un design modulaire, donc c'est pas une bonne idée d'écrire du sur mesure.

                              Pas sûr que ce soit ce qui était demandé, mais pas mal Frogweb

                              -
                              Edité par Genroa 9 août 2018 à 16:46:55

                              • Partager sur Facebook
                              • Partager sur Twitter
                              /!\ Si je cesse de répondre c'est parce que vous êtes venus poster sans avoir suivi les cours de base sur le sujet. /!\
                                9 août 2018 à 17:00:47

                                Frogweb a écrit:

                                Je vais faire des tests, j'ai une petite idée...

                                EDIT :

                                c'est tordu mais il me semble que ça fait ce que tu cherche :

                                    <div>
                                        <a href="#" class="normal">mon lien</a>
                                        <a href="#" class="border-top">mon lien</a>
                                        <a href="#" class="border-top">mon lien</a>
                                        <a href="#" class="border-top">mon lien</a>
                                    </div>
                                div {
                                    width:300px;
                                }
                                a {
                                    text-decoration: none;
                                    display:block;
                                    padding:20px 0;
                                    width:60%;
                                    margin:auto;
                                    text-align: center;
                                }
                                .border-top {
                                    border-top: 1px solid #333
                                }
                                a:hover, 
                                .border-top:hover + .border-top,
                                .normal:hover + .border-top {
                                    width:auto;
                                }

                                -
                                Edité par Frogweb il y a 24 minutes

                                Yep c'est ça, apres j'ai essayer de l'intégrer a mon code mais ça a fait un truc vraiment bizarre

                                • Partager sur Facebook
                                • Partager sur Twitter

                                a:hover

                                × Après avoir cliqué sur "Répondre" vous serez invité à vous connecter pour que votre message soit publié.
                                × Attention, ce sujet est très ancien. Le déterrer n'est pas forcément approprié. Nous te conseillons de créer un nouveau sujet pour poser ta question.
                                • Editeur
                                • Markdown