Bonjour à tous,
je cherchais à faire cette mise en page depuis longtemps, alors je me suis lancé ! Forcément ... ça ne fonctionne pas !
J'aimerais le faire, sans hack et si possible sans syntaxes de commentaires conditionnels pour IE ... je sais c'est fou !
Mon CSS :
Mon HTML :
Je vais essayer de faire simple ...
Je voudrais que :
- mon interface prenne la totalité de l'écran du visiteur, donc en 100% avec un margin: 5px;.
- l'en-tête et le pied de page soit de hauteur fixe, mais de largeur variable ... forcément, il faut toujours s'adapter à la résolution de l'écran du visiteur !
- le centre de ma page, qui contient mes éléments "menu" et "contenu", doit prendre la totalité de la hauteur restante. De plus, en fonction des données que contiendra "contenu" un ascenseur vertical apparaîtra overflow: auto;.
C'est ce que j'ai essayé de faire, mais je pense que mes problèmes sont multiples :
- "conteneur" ne veut pas rester à 100% ... il prend la hauteur de ce qu'il contient !
- il en est de même pour "centre" !
Je pense que la solution serait que je puisse faire en sorte que ce soit le conteneur qui détermine la taille du contenu et non l'inverse !
Alors, y a des pros ici ?!
Merci d'avance pour l'aide que vous voudrez bien m'apporter !
Gôm
Modifié par ghohm (07 Sep 2006 - 16:17)
je cherchais à faire cette mise en page depuis longtemps, alors je me suis lancé ! Forcément ... ça ne fonctionne pas !
J'aimerais le faire, sans hack et si possible sans syntaxes de commentaires conditionnels pour IE ... je sais c'est fou !
Mon CSS :
html, body {
margin: 0;
padding: 0;
height: 100%;
width: 100%
}
body {
font-family:Verdana, Arial, Helvetica, sans-serif;
font-size: 0.8em;
background-color: #fff;
}
.conteneur {
min-height : 100%;
margin: 5px;
padding: 5px;
border: 1px solid black;
background-color: red;
}
.entete {
height: 8em;
padding: 5px;
border: 1px solid black;
background-color: green;
}
.centre {
height: auto;
width: auto;
padding: 5px;
margin-top: 5px;
border: 1px solid black;
background-color: yellow;
}
.menu {
float: left;
left: 5px;
width: 150px;
height: auto;
margin: 0;
padding: 5px;
border: 1px solid black;
background-color: lightblue;
}
.menugauche {
list-style-type: none;
margin: 0;
padding:0;
}
.menugauche li {
margin-bottom: 5px;
}
.menugauche a {
margin: 0 2px;
color: #000000;
text-decoration: underline;
}
.menugauche a:hover {
text-decoration: none;
}
.contenu {
margin-left: 167px;
padding: 5px;
width: auto;
height: auto;
border: 1px solid black;
background-color: orange;
/*overflow: auto;*/
}
.piedpage {
bottom: 5px;
height: 8em;
width: auto;
padding: 5px;
margin-top: 5px;
border: 1px solid black;
background-color: purple;
}
Mon HTML :
<body>
<div class="conteneur">
<div class="entete">contenu du header</div>
<div class="centre">
<div class="menu">
<p>menu gauche de largeur fixe : 150px</p>
<ul class="menugauche">
<li><a href="">Menu 1</a></li>
<li><a href="">Menu 2</a></li>
<li><a href="">Menu 3</a></li>
<li><a href="">Menu 4</a></li>
</ul>
</div>
<div class="contenu">
<p>partie "frame" scrollable</p>
<p>partie "frame" scrollable</p>
<p>partie "frame" scrollable</p>
<p>partie "frame" scrollable</p>
<p>partie "frame" scrollable</p>
<p>partie "frame" scrollable</p>
<p>partie "frame" scrollable</p>
<p>partie "frame" scrollable</p>
<p>partie "frame" scrollable</p>
<p>partie "frame" scrollable</p>
<p>partie "frame" scrollable</p>
<p>partie "frame" scrollable</p>
<p>partie "frame" scrollable</p>
<p>partie "frame" scrollable</p>
<p>partie "frame" scrollable</p>
<p>partie "frame" scrollable</p>
</div>
</div>
<div class="piedpage">contenu du footer</div>
</div>
</body>
Je vais essayer de faire simple ...
Je voudrais que :
- mon interface prenne la totalité de l'écran du visiteur, donc en 100% avec un margin: 5px;.
- l'en-tête et le pied de page soit de hauteur fixe, mais de largeur variable ... forcément, il faut toujours s'adapter à la résolution de l'écran du visiteur !
- le centre de ma page, qui contient mes éléments "menu" et "contenu", doit prendre la totalité de la hauteur restante. De plus, en fonction des données que contiendra "contenu" un ascenseur vertical apparaîtra overflow: auto;.
C'est ce que j'ai essayé de faire, mais je pense que mes problèmes sont multiples :
- "conteneur" ne veut pas rester à 100% ... il prend la hauteur de ce qu'il contient !
- il en est de même pour "centre" !
Je pense que la solution serait que je puisse faire en sorte que ce soit le conteneur qui détermine la taille du contenu et non l'inverse !
Alors, y a des pros ici ?!
Merci d'avance pour l'aide que vous voudrez bien m'apporter !
Gôm
Modifié par ghohm (07 Sep 2006 - 16:17)