Bonsoir,
Je suis actuellement en train d'essayer de réaliser un layout en 3 colonnes, composé de 3 blocs identiques parfaitement superposés (enfin dans la mesure du possible !).
Ca nous donne quelque chose du genre :
|HG[HC|HD| (header)
|CG|CC|CD| (corps)
|PG|PC|PD | (pied)
A partir d'exemples (souvent trouvés ici), j'ai fini par arriver à quelque chose de satisfaisant, la tâche étant un tout petit peu plus complexe que dans le cas de trois colonnes d'un seul bloc.
Pour l'essentiel, les positions sont relatives et des floats sont utilisés, en fonction du côté. Ordre de remplissage : gauche, droite et centre.
Le problème que je rencontre, c'est que les informations qui vont figurer dans la zone de contenu (typiquement CC, mais cela pourrait être ailleurs) font parfois appel à des styles un peu élaborés, qui permettent une mise en page sur deux colonnes, avec gestion des floats.
Afin de quitter cette présentation pour revenir à du texte plus "traditionnel", un bon vieux "clear:both" figure souvent à ces styles et il détruit ma présentation : dès qu'un de ces styles est invoqué, le contenu de CC reste dans la même colonne mais au même niveau que le bas de CD, ce qui laisse une grande partie de la page vide et donne un résultat assez ... douteux.
D'après ce que j'ai compris, le "clear:both" est plus fort que tout, ce qui explique ce comportement.
D'où ma question :
- devrais-je essayer une autre façon d'agencer mes cellules pour obtenir la présentation souhaitée dans tous les cas ? Je suis à court d'insipiration, donc si quelqu'un a une suggestion ...
- existe-t-il un moyen de "se protéger" du "clear:both", en disposant les éléments plus intelligemment ?
- est-ce faisable en pur CSS ? Pour essayer, j'ai fait une mouture avec une TABLE de neuf cellules, un style pour l'habiller, et ça passe correctement.
Mais bon, la hauteur totale varie trop sous IE, et l'heure est aux DIVs !
Merci d'avance pour toute aide.
@+
Modifié par skb0 (23 Jan 2007 - 21:05)
Je suis actuellement en train d'essayer de réaliser un layout en 3 colonnes, composé de 3 blocs identiques parfaitement superposés (enfin dans la mesure du possible !).
Ca nous donne quelque chose du genre :
|HG[HC|HD| (header)
|CG|CC|CD| (corps)
|PG|PC|PD | (pied)
A partir d'exemples (souvent trouvés ici), j'ai fini par arriver à quelque chose de satisfaisant, la tâche étant un tout petit peu plus complexe que dans le cas de trois colonnes d'un seul bloc.
Pour l'essentiel, les positions sont relatives et des floats sont utilisés, en fonction du côté. Ordre de remplissage : gauche, droite et centre.
Le problème que je rencontre, c'est que les informations qui vont figurer dans la zone de contenu (typiquement CC, mais cela pourrait être ailleurs) font parfois appel à des styles un peu élaborés, qui permettent une mise en page sur deux colonnes, avec gestion des floats.
Afin de quitter cette présentation pour revenir à du texte plus "traditionnel", un bon vieux "clear:both" figure souvent à ces styles et il détruit ma présentation : dès qu'un de ces styles est invoqué, le contenu de CC reste dans la même colonne mais au même niveau que le bas de CD, ce qui laisse une grande partie de la page vide et donne un résultat assez ... douteux.
D'après ce que j'ai compris, le "clear:both" est plus fort que tout, ce qui explique ce comportement.
D'où ma question :
- devrais-je essayer une autre façon d'agencer mes cellules pour obtenir la présentation souhaitée dans tous les cas ? Je suis à court d'insipiration, donc si quelqu'un a une suggestion ...
- existe-t-il un moyen de "se protéger" du "clear:both", en disposant les éléments plus intelligemment ?
- est-ce faisable en pur CSS ? Pour essayer, j'ai fait une mouture avec une TABLE de neuf cellules, un style pour l'habiller, et ça passe correctement.
Mais bon, la hauteur totale varie trop sous IE, et l'heure est aux DIVs !
Merci d'avance pour toute aide.
@+
Modifié par skb0 (23 Jan 2007 - 21:05)