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 :

Comment mettre un DIV toujours en bas de page ?


Sujet :

CSS

  1. #1
    Rédacteur
    Avatar de romaintaz
    Homme Profil pro
    Java craftsman
    Inscrit en
    Juillet 2005
    Messages
    3 790
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 46
    Localisation : France, Yvelines (Île de France)

    Informations professionnelles :
    Activité : Java craftsman
    Secteur : Finance

    Informations forums :
    Inscription : Juillet 2005
    Messages : 3 790
    Points : 7 275
    Points
    7 275
    Par défaut Comment mettre un DIV toujours en bas de page ?
    Bonjour les gens,

    Je cherche à placer un DIV en bas d'une page, et qu'il y reste toujours, y compris quand l'utilisateur scrolle.
    J'ai lu la FAQ, et j'ai trouvé ce code CSS qui marche très bien, mais pour un DIV en haut de page :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
     
    .enHaut {
    	position : fixed;
    	top: 0px;
    	left: 0px;
    	right: 0px;
    	width: 100%;
    	/* Bidouille pour IE */ 
    	position: expression("absolute");
    	width : expression("100%");
    	top: expression(document.body.scrollTop + this.offsetHeight - this.offsetHeight);
    	left: expression("0px");
    }
    Je me suis dit bêtement qu'il fallait changer les attributs top par bottom, et modifier légèrement la valeur de l'expression utilisant scrollTop.
    Malheureusement, je n'arrive pas à avoir ce que je veux. Au mieux, mon div se positionne bien en bas de ma page, mais ne suit pas le mouvement quand l'utilisateur scrolle vers le bas.

    Quelle modification du CSS dois-je apporter pour faire ce que je veux ?

    Je précise que cela doit marcher pour IE, et dans des versions antérieures à la 7.

    Merci.

    En passant, j'ai aussi remarqué qu'il faut vraiment utiliser le this.offsetHeight - this.offsetHeight qui vaut 0, sinon ça ne marche pas, comme aussi remarqué ici. Quelqu'un a une explication à cette bizarrerie ?

  2. #2
    Rédacteur
    Avatar de romaintaz
    Homme Profil pro
    Java craftsman
    Inscrit en
    Juillet 2005
    Messages
    3 790
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 46
    Localisation : France, Yvelines (Île de France)

    Informations professionnelles :
    Activité : Java craftsman
    Secteur : Finance

    Informations forums :
    Inscription : Juillet 2005
    Messages : 3 790
    Points : 7 275
    Points
    7 275
    Par défaut
    Bon, j'ai trouvé une solution, mais je ne la trouve pas très élégante :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
     
    .fixedFooter {
        position : fixed; /* This is needed for other browsers than IE */
        bottom: 0px;
        left: 0px;
        right: 0px;
        width: 100%;
        position : expression("absolute");
        width : expression("100%");
        top: expression(document.body.clientHeight - 20 + document.body.scrollTop + this.offsetHeight - this.offsetHeight); /* J'ai mis -20 parce que mon DIV fait 20 pixels de haut. */
        left : expression("0px");
    }
    Donc si quelqu'un a une solution, je suis prenneur...

  3. #3
    Membre éclairé Avatar de cadoudal56
    Profil pro
    Inscrit en
    Février 2005
    Messages
    694
    Détails du profil
    Informations personnelles :
    Âge : 53
    Localisation : France

    Informations professionnelles :
    Secteur : High Tech - Opérateur de télécommunications

    Informations forums :
    Inscription : Février 2005
    Messages : 694
    Points : 779
    Points
    779
    Par défaut
    Hello,

    Bon je te donnes cela au Pif, mais est ce que ceci ne fonctionnerais pas ?

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
     
    .enHaut {
    	position : fixed;
    	top: 0px;
    	left: 0px;
    	right: 0px;
    	width: 100%;
    	/* Bidouille pour IE */ 
    	position: expression("absolute");
    	width : expression("100%");
    	bottom: expression(document.body.scrollTop + this.offsetHeight - this.offsetHeight);
    	left: expression("0px");
    }
    A voir aussi si il ne faut pas changer document.body.scrollTop en document.body.scrollBottom

    @+
    cadou

  4. #4
    Rédacteur
    Avatar de romaintaz
    Homme Profil pro
    Java craftsman
    Inscrit en
    Juillet 2005
    Messages
    3 790
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 46
    Localisation : France, Yvelines (Île de France)

    Informations professionnelles :
    Activité : Java craftsman
    Secteur : Finance

    Informations forums :
    Inscription : Juillet 2005
    Messages : 3 790
    Points : 7 275
    Points
    7 275
    Par défaut
    Merci pour ta réponse, mais cela ne fonctionne pas (pour tes 2 propositions) : le DIV est en haut de la page (normal, il a un "top: 0" qui reste) et qui reste en haut de la page (et non pas en haut de l'écran).

    Donc pour l'instant, je reste sur ma méthode qui marche, à défaut d'être belle...

Discussions similaires

  1. Comment mettre un fichier JS en bas de page sous Prestashop ?
    Par Cvbdev dans le forum EDI, CMS, Outils, Scripts et API
    Réponses: 0
    Dernier message: 22/10/2013, 09h50
  2. Div toujours en bas
    Par Kenshin86 dans le forum Mise en page CSS
    Réponses: 10
    Dernier message: 13/02/2009, 16h52
  3. Comment puis-je placer un div toujours en bas d'un autre div
    Par pierrot10 dans le forum Mise en page CSS
    Réponses: 6
    Dernier message: 12/12/2006, 16h04
  4. comment mettre des div au meme niveau?
    Par charlene44 dans le forum Mise en page CSS
    Réponses: 9
    Dernier message: 27/10/2006, 22h38
  5. Positionner le scroll d'un div toujours en bas.
    Par barok dans le forum Général JavaScript
    Réponses: 3
    Dernier message: 24/08/2005, 12h17

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