28173 sujets

CSS et mise en forme, CSS3

bonjour,

je tente d'afficher un template liquide 3 colonnes centré dans la page, dont la résolution cible est de 1024px de large, mais qui peut diminuer jusqu'à 800px avant de devenir fixe.

pour satisfaire à certains critères d'accessibilité, il faut également que mes 3 colonnes apparaissent dans l'ordre dans le code html (gauche > centre > droite).
je ne souhaite pas mettre en pratique le principe consistant à appeller d'abord les colonnes gauche et droite puis le bloc central dans le html et à caler le tout à l'aide de floats et de marges en css.
exemple ici : http://www.pixy.cz/blogg/clanky/css-3col-layout/

jusque là, pas de problème.
mon souci est que les différentes colonnes que j'utilise sont englobées dans un bloc "wrapper", mais ne prennent pas la hauteur totale de celui-ci.
(la hauteur est tributaire du volume de contenu).
voyez plutôt (Firefox ou Opera uniquement pour mon exemple) : http://cmlien.free.fr/alsa/

j'ai parcouru des tas de tutoriels et de galeries de layouts, mais rien à faire!
le système employé plus haut fonctionne bien mais a 2 désavantages : il n'est pas 100% accessible (l'ordre d'apparition des informations de visu dans le navigateur est différent de celui dans le code source) et pose des problèmes une fois que le template est centré dans la page et que du contenu y est intégré (désolé, je n'ai plus d'exemple sous la main, vous êtes obligés de me croire!).

quelqu'un a-t'il une solution?
merci par avance Smiley cligne
Modifié par css.addict (13 Dec 2007 - 09:22)
css.addict a écrit :
mon souci est que les différentes colonnes que j'utilise sont englobées dans un bloc "wrapper", mais ne prennent pas la hauteur totale de celui-ci.
(la hauteur est tributaire du volume de contenu).

Bah, c'est tout à fait logique, vu que tu n'utilise pas des colonnes mais des éléments flottants. Et comme les flottants ne sont pas des colonnes, ben ça ne marche pas pareil. CQFD. Smiley smile

Le seul type d'affichage qui permet à coup sûr d'avoir deux éléments de même hauteur quelle que soit la quantité de contenu qui s'y trouve, c'est l'affichage de type "table-cell". Sont en affichage de type "table-cell":
- les cellules de tableau;
- les éléments en display: table-cell.

Vu qu'Internet Explorer ne comprend pas display: table-cell (même dans sa version 7), il reste les cellules de tableau.

Note pour finir: on utilise souvent la technique dite des «colonnes factices» (faire une recherche à ce sujet), mais sauf erreur de ma part elle n'est pas utilisable ici.
instantane a écrit :
Je n'ai pas vraiment de réponse à ton problème mais as-tu essayé Yaml ? C'est un framework CSS, ils proposent un builder en ligne :
http://builder.yaml.de/


merci pour ce lien, je ne connaissais pas!!!

l'appli me génère un template d'à-peu-près même facture que celui que j'ai donné en premier exemple (pas le mien, l'autre), mais avec le problème de hauteur des colonnes en plus.
celà dit, ce type d'inititive a le mérite d'exister et démontre la puissance de jquery Smiley cligne
Modifié par css.addict (13 Dec 2007 - 10:07)