[CSS] et pas des tableaux !

Salut à tous !

Je me casse les dents depuis un bon moment sur un problème de mise en page CSS. J’ai bien regardé les solutions proposées à droite et à gauche et je n’ai rien trouvé d’équivalent à cet exemple tout bête fait à coup de tableaux :
http://xinfe.free.fr/maquette.html (Vous pouvez jouer avec la taille de la fenêtre)

En gros, je veux un header fixe, un footer en bas de la fenêtre du navigateur, et un body qui prend la place restante au milieu. Je n’ai donc pas de scrolling vertical : tout tient d’un coup.

Enfin, dans le body, trois colonnes qui prennent chacune 1/3 de la largeur totale de la fenêtre (je verrait après pour les marges). Le problème, c’est que j’ai rien de satisfaisant en jouant avec des float, puisque ca doit être relatif à la largeur totale.

Donc si vous pouvez m’aider à résoudre ce double problème, ca serait cool.

(Pour info, mon site est fait pour tenir aussi bien dans moins de 800x600 que sur un joli 24" à 120ppp)

Merci !

Voilà qui devrait peut-être t’aider :smiley:

http://www.alsacreations.com/static/gabarits/

Non, justement :

Le pied de page n’est pas collé en bas de la fenêtre du navigateur ( position:absolute; bottom:0; ), et le body ne fait pas “100%” de ce qu’il reste. Ce qui est présent sur le site, je sais le faire sans trop de problèmes.

Pour ce qui est des colonnes, elles ne font pas la même taille. Le float avec une largeur relative, ca fait pas ce que je veux (quoiqu’avec magouille et cie, ca pourrait éventuellement passer, mais j’aime pas les magouilles).

EDIT:Merci pour le site tout de même, je le garde sous le coude !

Huum, quelque chose comme ca ?
http://matthewjamestaylor.com/blog/perfect-3-column.htm

Effectivement, c’est bien ce genre de layout que je cherche…

Va falloir que je regarde la CSS attentivement, mais je pense que ca sera pas trop compliqué à importer.
J’ai l’impression que c’est du float:left avec un décalage depuis left en relatif :

.threecol .col1 { width:46%; left:102%; }

De ce que j’ai compris, il a encore compliqué un peu la css en utilisant son tricks pour avoir des background de colonne qui prenne toute la hauteur quelle que soit le texte dedans.
Check l’article lié pour voir si tu veux conserver aussi ca.
http://matthewjamestaylor.com/blog/equal-h…er-css-no-hacks

En effet, ca va l’aider. Maintenant, plus qu’à régler le problème de la hauteur :
Tout le contenu (header fixe, footer fixe, corps utilisant l’espace restant) doit s’inscrire strictement dans la fenêtre du navigateur. Je veux pas voir de scrollbar ! :smiley:

Je pense que c’est ca le plus dur…

[code]

ton header
colonne 1
colonne 2
colonne 3
ton footer
[/code]

par contre ca bug sous IE6 qui pige pas le position:fixed, je te laisse trouver le fix en javascript (pas dur à trouver)

IE6 ? Damned, IE6 ! Soit le support IE6 passe a la trappe, soit ca attendra…

Sinon, merci pour le concentré de réponses :smiley:
Par contre, je viens de tester, et les colonnes ne vont pas du header au footer. Quand je met height:100%; ca dépasse sous le footer…et je tourne en rond…

EDIT:C’est bête de pas pouvoir faire des trucs du genre height:100%-54px-12px;

dans ce cas, pour le 100% des 3 colonnes, tu ruses.

tu fous ton background à 100% dans un div par derriere, et ton affichage/données dans tes colonnes. Visuellement on verra pas la différence.

(ya moyen de faire 100% - Xpx mais en javascript

document.getElmentById(IdDeTaDiv).offsetHeight te renvoie la taille affichée de ta div
document.getElmentById(IdDUneAutreDiv).style.height=ton calcul…

tu fous ca dans le onload et t’es tranquille

le fix de position:fixed est proche de ça d’ailleurs :D)