Bonjour,
Après avoir cherché (peut-être mal) sur le forum et sur google , je persiste avec mon problème, je m'explique. J'essaye de faire une page web constitué de:
1 Header
1 menu de navigation
1 bloc de contenu et 1 bloc sur le côté (avec des table-cell)
1 footer (qui « stick » le bas de la page)
J'ai essayé de procéder uniquement avec des table et table-celle mais le problème avec cette solution vient qu'au moment ou je défini une table-row contenant 2 table-cell (content/aside) possédant chacun une certaine largeur, les autres éléments table-row situés au dessus et en dessous (soit en gros le header et le footer) n'occupe que la largeur du premier table-cell(content).
J'ai donc essayé de procéder différement en utilisant uniquement les table-celle pour faire la partie content/aside. Le header étant dans le flux normal.
Mon problème est que dans cette situation j'arrive à placer et dimensionner le header, le menu de navigation et le tableau mais que je n'arrive pas à avoir un « sticky footer » en utilisant la technique de mettre le body par exemple en "position: relative" et le footer en "position: absolute;left:0;right:0;bottom:0" afin qu'il soit placé en bas à gauche du body et qu'il prenne toute la largeur.
Que puis-je faire???
Voici en gros le code HTML
Et le CSS:
J'ai mis des background et des border pour voir le comportement global.
Suis-je obliger d'utiliser des blocs en "float" pour ma partie content/aside pour pouvoir utiliser le système avec un overflow et avoir un sticky footer ? Ou dois-je plutôt mettre mes blocs content/aside en "inline-block". Je pensais pouvoir utiliser un système de table-cell pour gérer mon contenu cela paraissant bien pratique au niveau du dimensionnement et des alignements (j'ai regardé pas mal d'exemple sur le site ie7nomore pour essayer de comprende au mieux mon problème)
Merci d'avance pour votre aide !
Modifié par Eightkiller (20 Sep 2012 - 21:00)
Après avoir cherché (peut-être mal) sur le forum et sur google , je persiste avec mon problème, je m'explique. J'essaye de faire une page web constitué de:
1 Header
1 menu de navigation
1 bloc de contenu et 1 bloc sur le côté (avec des table-cell)
1 footer (qui « stick » le bas de la page)
J'ai essayé de procéder uniquement avec des table et table-celle mais le problème avec cette solution vient qu'au moment ou je défini une table-row contenant 2 table-cell (content/aside) possédant chacun une certaine largeur, les autres éléments table-row situés au dessus et en dessous (soit en gros le header et le footer) n'occupe que la largeur du premier table-cell(content).
J'ai donc essayé de procéder différement en utilisant uniquement les table-celle pour faire la partie content/aside. Le header étant dans le flux normal.
Mon problème est que dans cette situation j'arrive à placer et dimensionner le header, le menu de navigation et le tableau mais que je n'arrive pas à avoir un « sticky footer » en utilisant la technique de mettre le body par exemple en "position: relative" et le footer en "position: absolute;left:0;right:0;bottom:0" afin qu'il soit placé en bas à gauche du body et qu'il prenne toute la largeur.
Que puis-je faire???
Voici en gros le code HTML
<body>
<div id="wrapper">
<div id="header">
<div id="nav">
</div>
</div>
<div id="main">
<div id="content">
</div>
<div id="aside">
</div>
</div>
</div>
<div id="footer">
</div>
</body>
Et le CSS:
html, body {
height:100%;
margin: 0;
padding: 0;
}
body {
position: relative;
min-height: 100%;
}
#header {
min-height: 150px;
background : url(../img/mon_background.png) repeat-x;
/*border: 1px solid red;*/
}
/* ---------------------------- */
/* == Main */
/* ---------------------------- */
#wrapper{
height: 100%;
}
#main {
display: table;
height: 100%; /* Je ne sais pas ce qu'il faut specifier pour gerer la situation !!!! */
width: 960px;
margin: 0 auto;
padding-bottom: 10px;
border: 1px solid black;
}
#content {
display: table-cell;
width: 66%;
background: green;
/*border: 1px solid green;*/
}
#aside {
display: table-cell;
background: yellow;
/*border: 1px solid yellow;*/
}
/* ---------------------------- */
/* == Footer */
/* ---------------------------- */
#footer {
position: absolute;
height: 110px;
left: 0;
right: 0;
bottom: 0;
background: red;
/*border: 1px solid purple;*/
}
J'ai mis des background et des border pour voir le comportement global.
Suis-je obliger d'utiliser des blocs en "float" pour ma partie content/aside pour pouvoir utiliser le système avec un overflow et avoir un sticky footer ? Ou dois-je plutôt mettre mes blocs content/aside en "inline-block". Je pensais pouvoir utiliser un système de table-cell pour gérer mon contenu cela paraissant bien pratique au niveau du dimensionnement et des alignements (j'ai regardé pas mal d'exemple sur le site ie7nomore pour essayer de comprende au mieux mon problème)
Merci d'avance pour votre aide !
Modifié par Eightkiller (20 Sep 2012 - 21:00)