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 :

Fixer un footer en bas de page quelle que soit la résolution


Sujet :

CSS

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Membre actif
    Homme Profil pro
    Étudiant
    Inscrit en
    Novembre 2014
    Messages
    58
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 28
    Localisation : France, Gard (Languedoc Roussillon)

    Informations professionnelles :
    Activité : Étudiant

    Informations forums :
    Inscription : Novembre 2014
    Messages : 58
    Par défaut Fixer un footer en bas de page quelle que soit la résolution
    Bonsoir
    J'ai un problème avec le footer de mon site web.
    Suivant la résolution et le contenu de la page (du <main> ) il n'est pas au même endroit. Voici 2 exemples sur 2 pages différentes de mon site:

    http://i.gyazo.com/fcdd346895bfc3f19a48af1b48882317.png

    Ici sur une page peu rempli, le footer est suivant la résolution d'écran en plein milieu de la page (résolution: 1280*1024) le problème ne le fait pas avec du 1366*768

    http://i.gyazo.com/6ceca7926cc27b749202b7f7c92e16dd.png

    Et la pas de problème sauf si la résolution est vraiment élevé (la page scrollable)

    Je précise être en HTML5, CSS3 et utiliser Bootstrap pour le positionnement.

    Voici un condensé de mon code:
    Code html : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    16
    17
    18
    19
    <body>
      <div class="container-fluid">
    <footer class="row">
      <div class="col-xs-6 col-md-6">
          <p>
            Jean Valjean &amp; Gavroche
          </p>
      </div>
      <div class="col-xs-6 col-md-6">
        <div id="Copyright">
          <p>
            Copyright © 2014 WebAtHome - Tous Droits Réservés
          </p>
        </div>
      </div>
    </footer>
    </div>
    </body>
    </html>



    et voici le css pour le footer:


    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    footer{
      background-color: #34475E;
      color: white;
      position:absolute;
      width: 100%;
    }
    Voila, j'espère que mon post est compréhensible, nous avons beaucoup cherché mais jusqu'a présent aucune solution concluante.

    Merci

    bonne soirée

  2. #2
    Membre émérite
    Homme Profil pro
    Retraité informatique
    Inscrit en
    Juin 2012
    Messages
    519
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Yvelines (Île de France)

    Informations professionnelles :
    Activité : Retraité informatique
    Secteur : High Tech - Matériel informatique

    Informations forums :
    Inscription : Juin 2012
    Messages : 519
    Par défaut
    Si j'ai bien compris, il sufft d'utiliser une marge négative pour margin-top du footer. Cela permet de toujours placer le footer en bas de la page.
    Code css : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    16
    17
    #page {
       width: 53.33333333333333%;  /*Ideal sur écran 1920: 1024px -> 1024 / 1920  */
       height: auto;
       margin: 0 auto;
       border:1px solid red;
    }
    section            { width:100%;                         
                         min-height:300px;               /* avec un minimum en hauteur  */ 
                         margin:0 0 150px 0;             /* 150px en bas pour le footer */
    					 padding:0;
    					 border:1px solid blue;      		
    					 }
    footer             { width: 100%;  
                         height:20px;     
                         margin:-100px auto 0;         /* margin négatif */
    					 border:1px solid green;
                       }

    Code html:
    Code html : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    <div id="page">
       <section></section>
       <footer></footer>
    </div>

    voir l'exemple: http://codepen.io/JefReb/pen/WbbZad

  3. #3
    Rédacteur

    Avatar de Bovino
    Homme Profil pro
    Développeur Web
    Inscrit en
    Juin 2008
    Messages
    23 647
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 55
    Localisation : France, Gironde (Aquitaine)

    Informations professionnelles :
    Activité : Développeur Web
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Juin 2008
    Messages : 23 647
    Billets dans le blog
    20
    Par défaut
    Définir les propriétés bottom et height suffit :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    footer{
      background-color: #34475E;
      color: white;
      position:absolute;
      width: 100%;
      bottom: 0;
      height: 1.5em;
    }
    Pas de question technique par MP !
    Tout le monde peut participer à developpez.com, vous avez une idée, contactez-moi !
    Mes formations video2brain : La formation complète sur JavaScriptJavaScript et le DOM par la pratiquePHP 5 et MySQL : les fondamentaux
    Mon livre sur jQuery
    Module Firefox / Chrome d'intégration de JSFiddle et CodePen sur le forum

  4. #4
    Membre Expert
    Avatar de ryan
    Homme Profil pro
    Développeur Web
    Inscrit en
    Juin 2003
    Messages
    956
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : Belgique

    Informations professionnelles :
    Activité : Développeur Web
    Secteur : High Tech - Multimédia et Internet

    Informations forums :
    Inscription : Juin 2003
    Messages : 956
    Billets dans le blog
    1
    Par défaut
    Yop

    Citation Envoyé par Bovino Voir le message
    Définir les propriétés bottom et height suffit :
    Oui, sauf s'il y a beaucoup de contenu dans la page (assez que pour devoir scroller pour en voir la fin), le footer se retrouve en superposition du contenu, et il peut y avoir du contenu en-dessous du footer.

    Code html : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    16
    17
    18
    19
    20
    21
    22
    23
    24
    25
    26
    27
    28
    29
    30
    31
    32
    33
    34
    35
    36
    37
     
    <!doctype html>
    <html>
    <head>
    <title>Document sans nom</title>
    <style>
    #footer{
      background-color: #34475E;
      color: white;
      position:absolute;
      width: 100%;
      bottom: 0;
      height: 1.5em;
    }
    </style>
    </head>
     <body style="margin: 0; padding: 0;">
     
    	<div id="contenu">
    		DEBUT CONTENU
    		<br/>CONTENU<br/>CONTENU<br/>CONTENU<br/>CONTENU<br/>CONTENU<br/>CONTENU<br/>CONTENU<br/>CONTENU
    		<br/>CONTENU<br/>CONTENU<br/>CONTENU<br/>CONTENU<br/>CONTENU<br/>CONTENU<br/>CONTENU<br/>CONTENU
    		<br/>CONTENU<br/>CONTENU<br/>CONTENU<br/>CONTENU<br/>CONTENU<br/>CONTENU<br/>CONTENU<br/>CONTENU
    		<br/>CONTENU<br/>CONTENU<br/>CONTENU<br/>CONTENU<br/>CONTENU<br/>CONTENU<br/>CONTENU<br/>CONTENU		
    		<br/>CONTENU<br/>CONTENU<br/>CONTENU<br/>CONTENU<br/>CONTENU<br/>CONTENU<br/>CONTENU<br/>CONTENU
    		<br/>CONTENU<br/>CONTENU<br/>CONTENU<br/>CONTENU<br/>CONTENU<br/>CONTENU<br/>CONTENU<br/>CONTENU
    		<br/>CONTENU<br/>CONTENU<br/>CONTENU<br/>CONTENU<br/>CONTENU<br/>CONTENU<br/>CONTENU<br/>CONTENU
    		<br/>CONTENU<br/>CONTENU<br/>CONTENU<br/>CONTENU<br/>CONTENU<br/>CONTENU<br/>CONTENU<br/>CONTENU
    		<br/>FIN CONTENU
    	</div>
     
    	<div id="footer">
    		FOOTER
    	</div>
     
    </body>
    </html>

  5. #5
    Membre actif
    Homme Profil pro
    Étudiant
    Inscrit en
    Novembre 2014
    Messages
    58
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 28
    Localisation : France, Gard (Languedoc Roussillon)

    Informations professionnelles :
    Activité : Étudiant

    Informations forums :
    Inscription : Novembre 2014
    Messages : 58
    Par défaut
    J'ai testé les 2 solutions.

    Jefreb: Mettre la marge négative ne marche pas.

    Bovino: Ta technique marche pour le "contact" mais sur une autre page avec plus de contenu (et donc devoir scroller) le footer reste bloqué au milieu de la page par dessus le texte (comme l'a dit ryan)

    Je vous remercie de vous être penché sur mon problème, je vais continuer à réfléchir.

  6. #6
    Membre Expert
    Avatar de ryan
    Homme Profil pro
    Développeur Web
    Inscrit en
    Juin 2003
    Messages
    956
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : Belgique

    Informations professionnelles :
    Activité : Développeur Web
    Secteur : High Tech - Multimédia et Internet

    Informations forums :
    Inscription : Juin 2003
    Messages : 956
    Billets dans le blog
    1
    Par défaut
    Yop!

    Si tu es prêt à utiliser javascript, et Jquery pour se simplifier la vie:

    Code html : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    16
    17
    18
    19
    20
    21
    22
    23
    24
    25
    26
    27
    28
    29
    30
    31
    32
    33
    34
    35
    36
    37
    38
    39
    40
    41
    42
    43
    44
    45
    46
    47
    48
    49
    50
    51
    52
    53
    54
    55
    56
    57
    58
    59
    60
    61
    62
    63
     
    <!doctype html>
    <html>
    <head>
    <title>Document sans nom</title>
    <script src="http://ajax.googleapis.com/ajax/libs/jquery/2.1.1/jquery.min.js"></script>
    <style>
    #footer{
      background-color: #34475E;
      color: white;
      position:absolute;
      width: 100%;
      bottom: 0;
      height: 1.5em;
    }
    </style>
    </head>
     <body style="margin: 0; padding: 0;">
     
    	<div id="contenu">
    		DEBUT CONTENU
    		<br/>CONTENU<br/>CONTENU<br/>CONTENU<br/>CONTENU<br/>CONTENU<br/>CONTENU<br/>CONTENU<br/>CONTENU
    		<br/>CONTENU<br/>CONTENU<br/>CONTENU<br/>CONTENU<br/>CONTENU<br/>CONTENU<br/>CONTENU<br/>CONTENU
    		<br/>CONTENU<br/>CONTENU<br/>CONTENU<br/>CONTENU<br/>CONTENU<br/>CONTENU<br/>CONTENU<br/>CONTENU
    		<br/>CONTENU<br/>CONTENU<br/>CONTENU<br/>CONTENU<br/>CONTENU<br/>CONTENU<br/>CONTENU<br/>CONTENU
    		<br/>CONTENU<br/>CONTENU<br/>CONTENU<br/>CONTENU<br/>CONTENU<br/>CONTENU<br/>CONTENU<br/>CONTENU
    		<br/>CONTENU<br/>CONTENU<br/>CONTENU<br/>CONTENU<br/>CONTENU<br/>CONTENU<br/>CONTENU<br/>CONTENU
    		<br/>CONTENU<br/>CONTENU<br/>CONTENU<br/>CONTENU<br/>CONTENU<br/>CONTENU<br/>CONTENU<br/>CONTENU
    		<br/>CONTENU<br/>CONTENU<br/>CONTENU<br/>CONTENU<br/>CONTENU<br/>CONTENU<br/>CONTENU<br/>CONTENU
    		<br/>CONTENU<br/>CONTENU<br/>CONTENU<br/>CONTENU<br/>CONTENU<br/>CONTENU<br/>CONTENU<br/>CONTENU
    		<br/>CONTENU<br/>CONTENU<br/>CONTENU<br/>CONTENU<br/>CONTENU<br/>CONTENU<br/>CONTENU<br/>CONTENU		
    		<br/>FIN CONTENU
    	</div>
     
    	<div id="footer">
    		FOOTER
    	</div>
     
    	<script>
                    $(document).ready( setfooter );
     
                    $(window).resize(function() 
                    {
                            setfooter(); 
                    });
     
                    function setfooter()
                    {
                            if ( $(window).height() > $("#contenu").outerHeight( true ) )
                            {
                                    footertop = $(window).height() - $("#footer").outerHeight( true );
                            }
                            else
                            {
                                    footertop = $("#contenu").outerHeight( true );
                            }
                            
                            $("#footer").css('top', footertop + "px");
                    }
     
            </script>
    </body>
    </html>

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

Discussions similaires

  1. Réponses: 5
    Dernier message: 28/02/2012, 19h39
  2. comment fixer le footer en bas de la page ?
    Par amine_gi dans le forum Mise en page CSS
    Réponses: 2
    Dernier message: 15/06/2011, 10h43
  3. Réponses: 2
    Dernier message: 09/01/2010, 01h00
  4. comment avoir un footer en bas de page quelque soit la résolution?
    Par Icedarts dans le forum Mise en page CSS
    Réponses: 4
    Dernier message: 21/05/2009, 23h35
  5. Positionner le footer en bas de page
    Par dolu02 dans le forum Mise en page CSS
    Réponses: 3
    Dernier message: 11/03/2008, 10h55

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