Contenu dynamique + php + css

WRInaute discret
Bonjour !

sur un site que je développe et que j'essaie de faire en XHTML et CSS 2 j'ai un menu dynamique en provenance d'une base de données. Le problème c'est qu'il m'est impossible de savoir exactement combien de liens il contient, ça change suivant la navigation du visiteur.

La mise en page est faite comme ceci :

div contenu
div haut+logo
div menu a gauche (liens)
div centre (contenu de la page)
div bas. (copyright, etc)
fin div contenu

Le probleme c'est que quand il y a trop de liens dans le menu, le div "bas" rentre directement dansle div "menu" et se superpose. Je suis obligé de mettre une hauteur fixe au div "centre" plus importante pour que ça marche. Mais là aussi c'est pareil, ce qu'il y a dans le div "centre" est entièrement dynamique et peut contenir aussi bien une ou deux lignes qu'une dizaine de tableaux, et donc impossible de gérer la hauteur.

Quelqu'un aurait-il une solution svp ??

merci
 
WRInaute discret
Problème réglé avec un height 90-100% pour le div conteneur mais ce n'est pas tellement adapté

et non en fait, ça ne marche pas avec Mozilla, même en mettant height à 100%

quelqu'un a -t-il une idée ?

Enfin maintenant c'est le div "centre" qui va manger dans le div "bas" lorsqu'il est trop long.
 
WRInaute discret
Salut,

Voici une solution qui marche et avec tous les navigateurs ;)

Dans ton div menu a gauche, à la fin tu rajoutes ceci :

Code:
<div id="menu_gauche">
  lien 1
  lien 2
  ...
  lien x

  <div class="spacer">&*nbsp*;</div> <!-- Ligne à rajouter -->
</div>

Puis dans ta feuille de style :

Code:
.spacer { clear: both; padding: 0; border: 0; margin: 0; height: 0px; font-size: 0px; }

Je ne sais pas si l'espace &*nbsp*; est nécéssaire, mais avec certain nav je crois que oui. Y'a peut-être mieux pour les attribs CSS, mais ça a le mérite de marcher ;)

C'est donc le clear: both qui est important, mais tu peux aussi faire clear: right/left.

ps: Obligé de mettre un '*' pour le &*nbsp*; sinon il est emputé :roll:
 
Discussions similaires
Haut