Partage
  • Partager sur Facebook
  • Partager sur Twitter

CSS problème

Image au dessus de tout qui ne bouge pas.

Sujet résolu
    24 avril 2006 à 20:38:18

    Bonjour !
    J'aimerais mettre une image sur mon site qui serait en bas à gauche de l'écran et au dessus de tout (tableau, texte, autres images...) mais qui ne bougerait pas même sil'on bouge la barre de défilement.

    Comment faire en CSS ? Faut-il mettre l'image dans le CSS ou dans le html ?

    Merci d'avance.
    • Partager sur Facebook
    • Partager sur Twitter
      24 avril 2006 à 20:42:19

      Salut,

      Vois (ou revois) le cours de M@teo21. Plus particulièrement la propriété CSS background-attachment.

      En l'occurence, pour ce que tu veux faire, la valeur à donner à cette propriété est fixed.

      background-attachment: fixed;


      @++
      • Partager sur Facebook
      • Partager sur Twitter
        24 avril 2006 à 20:44:33

        Je sais, mais le problème est que je veux une image en fond + une image en bas à droite de l'écran... L'image en fond n'étant pas fixed, l'autre image l'étant... C'est pour cela que je bloque...
        De plus, background est derrière tout et je voudrais que mon image soit au dessus de tout...
        • Partager sur Facebook
        • Partager sur Twitter
          24 avril 2006 à 20:48:36

          Dans ce cas, il te faut utiliser la propriété z-index qui permets de superposer tous les éléments positionnables.
          • Partager sur Facebook
          • Partager sur Twitter
            24 avril 2006 à 20:52:49

            J'ai une solution, mais qui ne marche pas sur IE :( :

            Pour garder une image fixe à l'écran, la seule solution est d'utiliser la propriété position : fixed (au même titre que absolute ou relative)et la position à l'écran.

            #id_de_ton_image img
            {
            position : fixed ;
            top : 0px ;
            left : 0px ; /* te gardera une image en haut à gauche de l'écran. */
            z-index : 1 ;
            }


            J'espère que ça suffira ;)
            • Partager sur Facebook
            • Partager sur Twitter
              24 avril 2006 à 20:57:48

              Euh, ça ne marche pas, je ne comprends pas...
              Je la met ou dans le html l'image ?
              • Partager sur Facebook
              • Partager sur Twitter
                24 avril 2006 à 21:56:35

                En fait, une position : absolute fonctionne comme une position : fixed. Il te faut définirl'emplacement de l'écran où tu places ton image, dans mon exemple, à 0px de hauteur et 0px de largeur. Le code présenté est à intégrer dans le css, mais pour qu'il fonctionne, il faut définir une id pour ton imag, donc taper
                <img src="source_de_l'image" id="identificateur_image" />

                puis définir les propriétés du div de ton image à l'aide du css que je t'ai montré ;)
                • Partager sur Facebook
                • Partager sur Twitter
                  24 avril 2006 à 22:28:35

                  Oui, mais il faut le mettre à quel endroit dans le html ? Parceque là, ça ne marche pas, que je le mettes juste après body ou juste avant la fin de body, l'image n'est pas "fixed" et elle ne se met pas au dessus du reste, ça laisse la place pour l'image...
                  Il n'y a pas de fonction en css permettant de mettre une image autre que le background ?
                  • Partager sur Facebook
                  • Partager sur Twitter
                    24 avril 2006 à 22:34:09

                    Déja met un z-index: 500; plutôt pour que l'image soit au dessu, et non pas 1.

                    Après, normalement tu peux placer ton image n'importe où, je serai tou je la mettrai juste après l'ouverture de la balise body, mais de toute manière ça n'a pas d'importance vu qu'elle est fixée !
                    • Partager sur Facebook
                    • Partager sur Twitter
                      25 avril 2006 à 8:18:05

                      J'ai essayé et ça n'a pas marché. J'ai essayé de remplacer le id par une class et le fixed marche. Mais par contre, dans les deux cas, top et left ne fonctionnent pas...
                      Quelqu'un sait pourquoi ?
                      • Partager sur Facebook
                      • Partager sur Twitter
                        25 avril 2006 à 21:54:32

                        Essaie avec cela :
                        Dans le css :
                        #extraDiv
                        {

                        position : fixed ;
                        top : 1px ;
                        left : 1px ;
                        width :400px ;
                        height : 400px ;
                        background : red ;
                        }

                        Et dans le html :
                        <body> <!-- Normalement, tu l'as déjà... -->
                        <div id="extraDiv"><p>&nbsp;</p></div>


                        Donne nous le résultat o_O

                        Au fait, tu as quoi comme, navigateur (mon code ne marche pas sur ie)
                        • Partager sur Facebook
                        • Partager sur Twitter
                          26 avril 2006 à 9:32:58

                          J'utilise Firefox. Merci beaucoup, ça marche ! Euhhh, par contre, sur ie, comme ça ne marche pas, ce serait possible de ne pas mettre l'image du tout (sur ie uniquement) ? Si oui, comment ?
                          • Partager sur Facebook
                          • Partager sur Twitter
                            26 avril 2006 à 10:14:38

                            La propriété css !important devrait résoudre ton problème :
                            Seuls les navigateurs autres que ie interprètent cette propriété, et ce n'est pour une fois pas plus mal : la propriété !important signale normalement au navigateur, si il y a deux instructions css qui se contredisent (par exemple :
                            h1 { text-decoration : underline ; text-decoration : none ;}
                            que la propriété marquée!important est la bonne. En ce qui te concerne, il s'agit de l'affichage ou non de ton block de fond.

                            Naturellement, si tu ne touches à rien, le bloc vient se positionner tout en bas de la page sur ie. Or, comme on veut ne pas l'afficher du tout, il faut rajouter une propriété css uniquement valable pour ie : en l'occurence, on va exécutern un display : none uniquement compréhensible par ie, puisque on va rajouter aussi un display : block !important qui sera valable pour tous les navigateurs, sauf ie, qui lui, restera sur le display : block

                            Rien dne vaut mieux qu'un p'tit code :p

                            #extraDiv
                            {

                            display : block !important ; /* Interprété par tous les navigateurs, sauf ie */
                            display : none ; /* Interprété par ie qui n'a pas compris la prédominance de !important */
                            position : fixed ; /* Seul ie ne le comprend pas */
                            top : 1px ;
                            left : 1px ;
                            width :400px ;
                            height : 400px ;
                            background : red ;
                            }


                            Et toujours len même code html :euh:
                            • Partager sur Facebook
                            • Partager sur Twitter
                              26 avril 2006 à 11:09:47

                              Merci beaucoup ! J'ai fini le design, plus qu'à remplir le site.
                              • Partager sur Facebook
                              • Partager sur Twitter

                              CSS problème

                              × 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