Partage
  • Partager sur Facebook
  • Partager sur Twitter

Comment placer en position: absolute?

Même quan on est déjà dans un bloc placé en absolu

    17 mai 2006 à 19:00:54

    Bonjour à tous,

    Hum, mon titre est peut-etre un peu compliqué, mais je n'ais pas réussi à faire plus simple^^
    Voilà mon dilemne. J'ai une balise de lien qui est positionné en position:relative;. Dans cette balise j'ai une balise <span></span> (qui ne s'affiche qu'au survol de la souris) que j'aimerais positionné en absolu.
    Seulement, vu que cette balise est contenu dans une balise déjà positionné, elle se positionne par rapport au bord gauche du haut de la balise lien ! Et moi je voudrais que cela soit par rapport au bord du haut gauche de la page. (pour que toutes mes infos bulles soient au même endroit^^)
    Ma question est donc la suivante : comment faire pour positionner ma balise véritablement en absolu?

    Pour mieux visionner le problème, voilà le code :
                   
    /* définition de la classe "image" de la balise <a> au survol */
    div.rangee_archive a:hover {
    background-image: url('images/style_biblio/archive.gif'); /* source de l'image d'arrivée */
    height: 190px; /* hauteur de l'image réactive */
    line-height: 92px;
    margin-bottom: -20px;
    position: relative;
    bottom: -2px;
    }
                   
    div.rangee_archive a:hover span.explication {
    position: absolute;
    top: 430px; /* hauteur :hover + 3 (du position:relative) + 5) */
    left: 50%;
    line-height: 1em;
    }


    et le lien :
    <a href="archive_journal?journal=1" title="Lire le journal n°1" class="sans_bordure">
    <span class="livre">1</span>
    <span class="explication">Archive du journal n°1. A relire sans modération.</span>
    </a>


    Voilà, voilà ! Merci d'avance ;)
    • Partager sur Facebook
    • Partager sur Twitter
      17 mai 2006 à 22:43:21

      Salut,

      Je crois que c'est impossible.

      En fait au survol, tu voudrais 2 infos-bulles, c'est pour ça que tu as mis tes a en relative ?
      • Partager sur Facebook
      • Partager sur Twitter
        18 mai 2006 à 0:09:44

        bonsoir
        Essaie de mettre uniquement
        .explication{position:..} et vire le reste avant .explication
        Je dis peut-être une bip

        • Partager sur Facebook
        • Partager sur Twitter
          18 mai 2006 à 18:05:59

          Bonsoir,

          C'est peut-être impossible en effet^^

          En fait il n'y a qu'une seule info-bulle (celle du <span class="explication") l'autre span c'est le lien normal (mais en fait mon lien a un background (vous l'aurez remarqué^^) et donc il faut que ce qui est dans le premier span descende, bref^^ si vous voulez mieux comprendre, voilà une page de tests : page de test Je met donc mes liens en relatives pour que l'image descende légérement au survol. (ou soit à la bonne hauteur en normal))

          Sinon franck09, je ne peux enlever ce qu'il y a avant, car je veux que cela ne s'applique qu'à cet endroit là du site. (et en plus je dois spécifier parfois un truc plus précise pour chaque bouquin^^)

          Merci de vos réponses !!
          J'espère que quelqu'un trouvera une solution !! :)

          • Partager sur Facebook
          • Partager sur Twitter
            18 mai 2006 à 18:48:42

            J'ai compris le principe :p

            Mais je vois pas l'utilité des span contenant les chiffres, en utilisant un padding top, différent pour l'état normal et l'état survolé, ton chiffre devrait également se déplacer, et tu pourrais enlever la position relative de tes balises a.

            HS :
            Ton texte est vraiment trop petit pour l'infobulle de ton menu principal.
            Sinon, comme design, c'est original :)
            • Partager sur Facebook
            • Partager sur Twitter
              18 mai 2006 à 19:27:35

              En fait l'avantage de la position:relative; c'est que sous IE le livre lorsqu'il dépasse du cadre éh bien il passe au dessus du bord. Alors qu'avec un padding, éh bien tout ce qui dépasse ne s'affiche pas ! (ou l'afficher il faut repousser le bord du cadre) Ce qui gache tout l'effet :( (ne machons les mots)
              Il faudrait que je test encore, mais à priori je ne peux avoir le même rendu ainsi...

              Mais je crois qu'il va falloir que je trouve une solution pour ne pas placer mes liens en relative, en effet... Snif, snif, snif...
              Sauf s'il y a un autre moyen... ?? :-°:)

              Un truc que je ne comprend pas par contre, c'est qu'en cherchant sur alsacréations je suis tombé sur ça : cette page
              Et lui... éh bah lui ça marche !! Mais lui son <ul> est positionné en absolu. (et non en relatif comme moi)
              Quelqu'un sait s'il y a un truc spécial entre relatif et absolu?

              Citation : strucky

              Ton texte est vraiment trop petit pour l'infobulle de ton menu principal.


              Tu trouves toi aussi? :p C'était ma période flash^^ Il faut que je le change ce menu...
              Merci de ton aide en tout cas !!
              • Partager sur Facebook
              • Partager sur Twitter
                18 mai 2006 à 19:40:44

                De toute façon, que ce soit en absolute, ou en relative pour le parent, ça revient au même, le positionnement se fat par rapport à l'élément parent et non à la page.

                Et toi, ce sont tes liens qui sont en relatives, et c'est ça le problème, l'ul ne bouge pas, les liens eux si.

                Sinon, comme ça, je vois pas, faudrait que je teste.

                • Partager sur Facebook
                • Partager sur Twitter
                  19 mai 2006 à 21:59:46

                  Alors, après plusieurs essais pour enlever le position:relative; de mes liens (afin de pouvoir placer mes infos-bulles en absolute "réel") j'ai... "réussi"... (enfin normalement) mais sous IE mes livres passent encore sous la marge de mon div.
                  Exemple en image : ici ! (sachant que je n'ais fais les tests que pour la partie archive)

                  Mon code xhtml n'a pas changé, mais je vous le montre en plus complet :
                  <div class="rangee_archive">   
                  <div class="rangee">
                  <a href="archive_journal?journal=1" title="Lire le journal n°1" class="sans_bordure">
                  <span class="livre">1</span>
                  <span class="explication">Archive du journal n°1. A relire sans modération.</span>
                  </a>
                  <div class="menu_footer"></div>
                  </div>
                  </div>


                  Mon code CSS lui a changé :

                  div.rangee_outils {
                  background-image: url('images/style_biblio/barre_outils.gif');
                  background-repeat: no-repeat;
                  background-position: top right;
                  padding-top: 45px;
                  float: right;
                  width: 49%;
                  margin-left: 2%;
                  margin-right: 0px;
                  margin-top: 0px;
                  margin-bottom: 0px;
                  }

                  div.rangee {
                  width : 100%;
                  height: 175px;
                  border: 1px solid black;
                  background-color:#996633;
                  margin: 0px;
                  margin-bottom: 25px;
                  vertical-align: bottom;
                  z-index: 2;
                  }

                  div.rangee_archive a:hover { /* définition de la classe "image" de la balise <a> au survol */
                  background-image: url('images/style_biblio/archive.gif'); /* source de l'image d'arrivée */
                  height: 190px; /* hauteur de l'image réactive */
                  line-height: 92px;
                  margin-bottom: -20px;
                  overflow: visible;
                  z-index: 1;
                  background-position: bottom left;
                  text-decoration: none;
                  }

                  div.rangee_archive a:hover span.explication {
                  display: block;
                  width: 200px;
                  border: 1px dashed black;
                  background-color: white;
                  padding: 5px;
                  text-align: left;
                  z-index: 1;
                  position: absolute;
                  top: 470px; /* hauteur :hover + 3 (du position:relative) + 5) */
                  left: 70%;
                  line-height: 1em;
                  }


                  Est-ce que quelqu'un aurait une idée à partir de ça pour que les livres dépassent de la marge? (je commence à désespérer :p )

                  Merci beaucoup d'avance encore une fois !
                  Et merci encore Strucky !
                  • Partager sur Facebook
                  • Partager sur Twitter

                  Comment placer en position: absolute?

                  × 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