28172 sujets

CSS et mise en forme, CSS3

Bonjour à tous

J'ai un trou de mémoire, les ans en sont la cause, je suppose!
Je ne me souviens plus de la façon de faire qu'un <footer> soit en bas de l'écran si le contenu de la page ne remplit pas l'écran, et après le texte si le contenu dépasse la bas de l'écran.

Et pourtant, je l'ai déjà fait!!! Smiley cavapa
loicbcn a écrit :
Bonjour,
Ou alors, tu peux aussi donner une position relative à ton body et mettre le footer en position absolute; bottom:0 ...


Il faut alors que le padding-bottom du contenu fasse la hauteur du footer car mettre le footer en position : absolute le sort du calcul de la hauteur.
Smiley smile
Merci de vos réponses

En fait j'avais à peu près utilisé les mêmes moyens, mais je viens comprendre ce qui cloche dans le cas précis: dans la page, il y a une très grande place prise par un bloc qui a un "enfant" positionné en absolu par rapport à ce bloc et qui se trouve au dessous du bloc. Bien entendu ce n'est pas pris en compte dans le calcul de la hauteur, et mon footer vient hardiment se positionner en conflit avec ledit "enfant".

Je devrais trouver une solution en sortant cet "enfant" de ce bloc et en le mettant en static comme tout le monde.

Merci de votre aide, car sans cet échange j'aurais sans doute passé pas mal de temps avant de comprendre mon problème.
Moi j'aurais utilisé du javascript, pour calculer la hauteur du bloc en absolute et créer une marge sur le footer = à cette hauteur.
Bonjour à tous,
J'ai le même problème j'en profite donc pour poster dans ce sujet. Après mainte bidouillage et recherche je continue de galérer avec mon bas de page c'est pourquoi je fais appel à vous. Il se trouve que sur Google Chrome le rendu est pas mal et correspond plus ou moins à ce que je voudrai faire. Par contre avec les navigateur mozilla et internet explorer ça le fait pas du tout. Quand la page s'ouvre le "footer" est bien en bas de la page mais dès que je scroll il reste fixe et du coup recouvre le contenu.
Je vous laisse le HTML d'une page et une partie de mon CSS peut être que vous verrez les erreurs que j'ai commise et d'où vient le problème Smiley smile .
HTML :
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" 
"http://www.w3.org/TR/html4/loose.dtd"> 
<html> 
<head> 
<link rel="stylesheet" type="text/css" href="moncss1.css"> 
<link rel="stylesheet" type="text/css" href="cssmediaimages.css"> 
<title> Mountain World </title> 
</head> 
<body> 
<div id="global"> 
<div id="titre"> <a href="index.html"><img src="logosite.png" alt="Logo" width="253" height="200" /></a> </div> 
<br><br> 
<ul id="menu"> 
<li><a href="index.html">Accueil</a> 
<li><a href="mediamain.html">Média</a> 
<ul> 
<li><a href="mediaimages.html">Images</a></li> 
<li><a href="mediavideo.html">Vidéos</a></li> 
</ul> 
<li><a href="biographiesmain.html">Biographies</a> 
<ul> 
<li><a href="biographiesski.html">Skieurs</a></li> 
<li><a href="biographiessnow.html">Snowboarders</a></li> 
</ul> 
<li><a href="evenements.html">Evénements</a> 
<li><a href="contacts.html">Contacts</a> 
</ul> 
<div id="contenu"> 
<h2> <div class="cadre">Biographies Skieurs </div></h2> <br> 
<div class="column-layout"> 
<div><img src="imagebiocandide.jpg" alt="candidethovex" width="175" height="91" /> 
<br>Candide (texte .....) </div> 
<div><img src="imagesbiokevin.jpg" alt="kevinrolland" width="175" height="91" /> 
<br>Rolland (texte .........) </div> 
<div><img src="imagebioedgar.jpg" alt="edgargrospiron" width="175" height="91" /> 
<br>Edgar Grospiron (texte ...... ) </div> 
</div> 
</div> 
</div> 
<div id="outerBasDePage"> 
<div id="baspage"> 
<a href="http://www.facebook.com" target="_blank"> 
<img src="facebook.png" alt="logofacebook" class="logo"> 
</a> 
<a href="http://www.twitter.com" target="_blank"> 
<img src="twitter.png" alt="logotwitter" class="logo"> 
</a> 
<a href="https://plus.google.com/" target="_blank"> 
<img src="google-plus.png" alt="logogoogleplus" class="logo"> 
</a> 
</div> 
</div> 
</body> 
</html> 

ET MAINTENANT UNE PARTIE DU CSS :
{

margin: 0px; 
padding: 0px; 
} 
h1{ 
color: #00E102; 
font-size: larger; 
font-family: sans-serif; 
font-style: italic; 
text-align: center; 
} 
h2 { 
color : white; 
font-size: larger; 
font-family : Comic Sans MS; 
font-weight: bold; 
text-align : center; 
} 
.cadre { 
border : 5px white groove; 
width : 400px; 
margin : auto; 
} 
html{ background:url(wallpapersite.jpg) no-repeat; 
height:100%; 
} 
body{height: 100%; 
} 
#titre, #menu, #contenu, #baspage { 
padding:1px 0; 
} 
#global { 
max-width : 960px; 
height:100%; 
margin : auto; 
padding-bottom : 50px; 
overflow : visible; 
} 
#titre { 
font-family: fantasy; 
text-align: center; 
} 
#contenu { 
margin-top: 20px; 
text-align: center; 
background: transparent; 
color : white; 
font-size : medium; 
font-family : Comic Sans MS; 
width : 100%; 
} 
#outerBasDePage{ 
width : 100%; 
margin-top : -50px; 
height: 50px; 
position : absolute; 
text-align : center; 
} 
#baspage { 
text-align: center; 
background:url(basdepage3.jpg); 
color : white; 
} 

Voilà je vous remercie d'avance et passez une bonne soirée
On devrait créer un catalogue de tous ces petits bouts de codes ingénieux...
Modifié par Greg_Lumiere (17 Mar 2016 - 20:35)
Olivier C a écrit :
Sur cette demande fréquente, voici un pen simple avec footer en bas de page et une sidebar : CodePen

Oui, mais ça ne va pas trop ton affaire, dès que l'on rajoute du contenu, il ne pousse pas le pied, et le contenu est caché Smiley confused

Cf. le codepen de Raphaël
SolidSnake a écrit :

Oui, mais ça ne va pas trop ton affaire, dès que l'on rajoute du contenu, il ne pousse pas le pied, et le contenu est caché
Va-t-en rendre service lol

Oui il a oublié de fixer la largeur maximale et de permettre la césure. Je viens de tester avec une ligne de texte longue comme les bras d'un orang-outang et ça marche impec !

J'ai appliqué un max-width: 100vw sur body et wrapper et word-break: break-all; sur le wrapper.

Edit: Ha oui et j'ai viré les flex mais là pas sûr qu'en pratique ce ne soit à faire.
Modifié par Greg_Lumiere (16 Mar 2016 - 12:08)