[HTML / ou autre] Taille de tableau dynamique
"J'améliore" un site déja existant qui est conçut en trois colonne de tableau html. Chcune de ces colonne contiennent d'autre tableau ... . C'est un peu compliquer.
En faite les deux colonnes (la droite et la gauche) sont pour le moment statique. Seul la colonne centrale est de taille variable et les deux autres s'aligne dessus pour qu'au finale les trois colonne soit de taille identique. Sur les deux colonnes statique il y a une zone où il y à possibiliter de remplire c'est à dire d'agrandire la zone pour atteidre la hauteur souhaiter.
Ce que je souhaite est de trouver un moyen pour que quelque soit la taille de la colonne centrale les deux autres se cale dessus pour qu'elle soit toute de la même taille. Je penser qu'il y avait peut-être un moyen en html pour que mes colonne prennent toute la place possible (et restante).
Si cette méthode est impossible il faudra sans doute que je me prenne la tête avec du js ou du php.
Mais avant tout je veut savoir si quelqu'un à une idée en html ET si vous "m'avez compris".
Merci.
29 réponses
La problématique concerne trois colonnes de tableau HTML, la colonne centrale ayant une hauteur variable et les deux colonnes latérales devant s’aligner pour atteindre une hauteur identique indépendamment du contenu central. La solution proposée consiste à donner une hauteur de 100% aux tableaux des deux colonnes latérales, afin qu'elles s'étirent pour coller à la hauteur de la colonne centrale. Cependant il faut spécifier une hauteur pour chaque ligne, à l'exception de la dernière, pour éviter que tout ne se trouve étiré de manière indésirable. En cas de contenus mixtes (images en arrière-plan, médias dynamiques ou contenus ajoutés dynamiquement), cette approche nécessite des ajustements supplémentaires et des tests approfondis sur plusieurs navigateurs pour garantir que les hauteurs restent synchronisées.
-
En faite je me suis trompé. Ce n'est pas cette balise que j'ai retirer mais celle-ci :
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0//EN">
Il n'y à donc pas de colision entre les deux balise <meta ...> -
Ca y est, c'est résolut!
En virant cette balise il n'y a plus de problème. Mes texts sont bien centré et mes colonnes sont de nouveaux dynamique. Il y a donc bien un problème de compatibilitée entre ces deux balises (ou alors je ne comprend plus rien).
Je te poserai bien quelques questions au sujet des feuilles de styles et sur ces espaces que je pourrai gérer mais comme à présent tout fonctionne, je ne m'atarderai pas la dessus. Surtout qu'il faut que j'avance un peu dans ce que je doit faire pour ce site.
Encore merci et comme toujours, je relancerai ce poste si j'ai d'autres problèmes coucernant ce sujet (ou alors je créerai un nouveau poste). -
Elle n'est pas indispensable cette balise. Mais bon effectivement il y a peut-être un problème de compatibilité si tu mets les 2.
Et pour ce qui est de définir les styles il me semble que c'est tout à fait le sujet. Ca marchait très bien avant, soit, mais le fait est que ça ne marche plus maintenant.
Je ne te dis pas que tu as fait des erreurs dans tes définitions, mais qu'elles pourraient peut-être être plus précises de manière à gérer par exemple les espacements, sources de nombreux ennuis dès que l'on touche à des cellules de tableaux.
Maintenant si tu penses que le problème vient d'ailleurs, libre à toi de continuer sur une autre voie, tu es le mieux placé pour comprendre ce qui cloche dans ton code. -
Pour la balise meta, le truc c'est que quand je la retire certaine définition de ma css passe (alors qu'elle ne passé pas avant). De plus le faite d'importé la feuille de style implique la présence de cette balise :
<META HTTP-EQUIV="Content-Style-Type" CONTENT="text/css">
J'avais dans l'idée qu'il y avait peut-être un conflit entre ces deux balise.
Pour ce qui est de définir les styles je suis d'accord mais ce n'est pas tout à fait le sujet puisque je n'avait pas de problème avant et donc pas besoin de mieux définir mes css (si je peut mieux les définir ... ;o) ). -
Je ne comprend ce que tu veut dire.
Et ce que je ne comprend pas vraiment pas, c'est pourquoi en déclarant mes css dans une feuille séparer ( un fichier .css) ca me fou un mordel aussi monstrueux.
Et surtout pourquoi maintenant mes colonnes ne sont plus dynamique !!! Bord*l à c*l d'p*tain d'm*rde !!!!! Excuse moi je m'emporte.
Alors j'ai test plein de chose et j'ai retirer cette balise :
<meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1">
Elle semble ne servire à rien si ce n'est bloquer certaine de mes déclaration css.
Je me demande donc quelle est l'utilité de cette balise. Si quelqu'un peu me répondre ce serai fort sympathique.-
La balise meta Content-Type définit la table de caractères à utiliser pour le navigateur (pour qu'il sache si les caractères sont occidentaux, japonais, arabes, russes,...). Donc je ne vois pas trop le rapport avec ta feuille de style.
Ce que je voulais dire c'est que c'est à toi de créer autant de styles nécessaires pour pouvoir faire face à chaque situation sur ta page. Si tu configures bien chaque style, tu ne dois pas avoir de problème de ce type.
-
-
Je ne sais pas comment tu t'es débrouillé, mais si tu définis suffisamment de styles différents tu ne devrais pas avoir de problème avec tes colonnes.
-
Si quelqu'un d'autre aurai une petite idée, tout est bon et même trés bon à prendre.
Je vous en remerci. -
Me voici de retour avec un gros problème !!!
J'avait donc fait tout ce qu'il fallait pour que tout fonctionne comme il faut, mes colonnes avaient une taille dynamique.
Jusqu'à ce que je veuille mettre mes styles dans une feuille de style externe histoire que quand je change quelque chose, je ne doit pas changer dans toutes les pages.
Resultat, ma feuille de style est bien prise en conte mais mes affichages se barrent en couille ...
Mon sommaire n'est plus aligné, les infos dans ma colonne centrale non plus et j'en passe.
Je me suis donc mis à redéfinir tout ces affichage puique c'était possible avec pas mal d'espace et tout et tout. J'en suis arriver à quelques chose d'assez satisfaisant sauf pour mes colonnes dynamique. Cette nouvelle méthode pour mes feuilles de style font que mes colonnes ( donc mes tableaux) ne sont plus dynamique et je ne sais pas pourquoi.
Si tu à une idée, elle sera la bien venue. -
Pas de problème!
Bon courage. ;) -
Merci pour l'info Nebul mais je croit que je ne me vai me mettre tout de suite au XML. J'ai déjà du mal avec html, javascript, php, ... je ne vait pas ajouter un autre langage à mon répèrtoire pour le moment mais au moin je suis au courant, alors je t'en remerci.
Flokocha :
Tu vient de répondre trés nettement à ma question, les image étant en BACKGROUND, elle se duplique.
Ce que tu ne comprend pas :
En faite j'ai trouver, des taille par défaut était établi (du moin pour la première colonne) ce qui à pour effet que si le site à une taille plus petite, du vide s'introduit à la suite. Donc si on met l'attribut BORDER à 1 pour le tableau on se rend compte de se vide (enfin on voit les bordure qui continue).
Je ne sais si tu à mieux compris. Dans tout les cas se n'est pas trop grâve puisque j'ai trouver le pourquoi du comment.
Voila je croit que pour l'ainstant je n'ai plus de problème. Il me faut corriger à présent tout mes code pour mettre en place ces taille "dynamique". Alors je te remerci pour ton aide.
N.B: Si d'autre problème surviennent je te le ferai savoir, bien entendu. -
Bjour,
Jmincruste dans cette longue discution juste pour dire une tite chose pas très importante... j'ai entendu ke le XML été magnifik pour se genre de traitement... enfin je crois
voilà c tout hihi -
Là à nouveau je ne comprends plus. :o)
Par contre si tu ne définis pas de taille c'est normal que tes lignes s'étirent en hauteur. Si tu utilises des images en "background" dans une cellule et que cette cellule est étirée, l'image ne sera elle pas étirée mais va se répéter en motif. Je ne sais pas si c'est cela dont tu parles lorsque tu dis certaine parti s'affiche plusieur fois à la suite.
Pour que ce système soit efficace il faut impérativement dissocier les lignes dont la hauteur peut varier de celles dont la hauteur doit rester fixe, à cause notamment de l'utilisation d'images. -
Il y a un autre petit problème, même si ce n'est pas extreêmement génant.
En faite, l'autre fois je disait que le tableau continuer aprés mes affichage ce qui fait que mes trois tableau (donc le site dans son ensemble) est agrandie (alonger) pour rien.
Je préfèrerai qu'il ne s'allonge pas mais bon, ce n'est pas trés grâve.
Un autre problème, qui se résoudra avec la mise en place des parti static et allongeable d'une colonne, est que par exemple certaine parti s'affiche plusieur fois à la suite pour que la colonne atteingne sa taille normale et je ne comprend pas pourquoi puisque moi j'écris qu'elle ne s'affiche qu'une seul fois.
( Je répète que se problème n'est plus dés lors que je défini les tailles). -
C'est ce à quoi je pensé.
Je testé de ce pas. -
Et bien si la colonne du milieu est plus petite que l'une des deux autres, c'est la plus grande des deux colonnes statiques qui déterminera la taille du tableau.
Par contre si ça te pose un problème au niveau graphique (je ne peux pas me rendre compte car tu ne m'as pas donné les images), il te suffit de déterminer également la hauteur du tableau du milieu à 100%, tout en n'oubliant pas de spécifier alors la hauteur en pixel des lignes qui ne devront pas être étirées, comme pour les deux autres colonnes. -
Ca ma tout l'aire de fonctionné mais cela cause quelques petit beug que je suis en train d'essayé (comment écrit-on essaié) de corriger.
Mais je me pose une seconde question :
Et s'il arrive à ma colonne du centre d'être plus courte que les deux autres? Comment fait-on?
(Je t'avouhrai que je n'ai pas encore beaucoup réfléchi à la question mais à présent elle se pose.)
Et je te doit un GRAND
M E R C I ! ! ! ! -
J'ai une solution qui fonctionne (si toutefois j'ai bien compris ce que tu voulais faire).
Si j'ai bien compris:
Ta page entière est un tableau d'une ligne et de 3 colonnes.
Chaque cellule de ce tableau principal est un autre tableau.
Les 1ère et dernière colonnes sont statiques.
La colonne du milieu est amenée à varier en hauteur.
Tu souhaites que les 2 autres colonnes s'adaptent à la hauteur de la colonne centrale, via la possibilité d'augmenter la hauteur de la dernière ligne des tableaux. (C'est ce passage là qui est important, et que je ne suis pas sûr d'avoir bien compris)
Alors si tout ce qui est dit ci-dessus est exact, il te suffit de spécifier pour les tableaux de la 1ère et de la dernière colonne une hauteur de 100%.
Cependant cela aura pour résultat d'étirer la hauteur de chaque ligne qui n'a pas de hauteur prédéfinie. Il faudra donc spécifier une hauteur à chaque ligne, exceptées les dernières des deux tableaux en question. J'ai fait des tests et cela fonctionne.
Est-ce la solution que tu attendais ? -
Je viens de voir ça, je vais regarder dans le courant de l'après-midi.
-
Je te l'ai envoyé sur ton adresse m@il Flokocha.
-
Pfiou, désolé mais là je n'y vois rien du tout!
J'espère pour toi que sur le fichier original il y a un peu d'indentation sinon tu as intérêt à te shooter à l'Efferalgan.
:D
- 1
- 2