Comment formater plusieurs tables pour l'alignement vertical
J'ai hérité de code HTML et ont été invités à aligner les deux tables afin que le texte entre les deux colonnes.
Il y a une table externe qui fournit un à deux colonnes regarde cette chose, puis deux tables internes (un pour chaque colonne). Chaque table interne contient des boîtes contenant du texte. Il est de ces boîtes de texte que le client veut alignés entre les deux colonnes.
Je ne peux penser à des façons de rendre les lignes de texte "match" entre les deux colonnes, mais rien de simple ou élégant.
Voici le code html:
<html>
<head>
<title>Test</title>
</head>
<body >
<table width="100%" border="1" cellspacing="2" cellpadding="0">
<tr>
<td width="50%">
<hr align="left" />
<p><center><strong>Left Side</strong></center></p>
<table width="100%" border="1" cellspacing="2" cellpadding="0">
<tr>
<td width="5%">
<strong>1:</strong>
</td>
<td width="90%">
blah blah blah blah blah blah blah blah blah blah blah blah blah blah blah blah blah blah blah blah blah blah blah blah blah
blah blah blah blah blah blah blah blah blah blah blah blah blah blah blah blah blah blah blah blah blah blah blah blah blah
blah blah blah blah blah blah blah blah blah blah blah blah blah blah blah blah blah blah blah blah blah blah blah blah blah
blah blah blah blah blah blah blah blah blah blah blah blah blah blah blah blah blah blah blah blah blah blah blah blah blah
blah blah blah blah blah blah blah blah blah blah blah blah blah blah blah blah blah blah blah blah blah blah blah blah blah
blah blah blah blah blah blah blah blah blah blah blah blah blah blah blah blah blah blah blah blah blah blah blah blah blah
blah blah blah blah blah blah blah blah blah blah blah blah blah blah blah blah blah blah blah blah blah blah blah blah blah
blah blah blah blah blah blah blah blah blah blah blah blah blah blah blah blah blah blah blah blah blah blah blah blah blah
blah blah blah blah blah blah blah blah blah blah blah blah blah blah blah blah blah blah blah blah blah blah blah blah blah
blah blah blah blah blah blah blah blah blah blah blah blah blah blah blah blah blah blah blah blah blah blah blah blah blah
blah blah blah blah blah blah blah blah blah blah blah blah blah blah blah blah blah blah blah blah blah blah blah blah blah
blah blah blah blah blah blah blah blah blah blah blah blah blah blah blah blah blah blah blah blah blah blah blah blah blah
</td>
</tr>
<tr>
<td width="5%">
</td>
<td width="90%">
<hr align="left" />
</td>
</tr>
<tr>
<td width="5%">
<strong>2:</strong>
</td>
<td width="90%">
blah blah blah blah blah blah blah blah blah blah blah blah blah blah blah blah blah blah blah blah blah blah blah blah blah
blah blah blah blah blah blah blah blah blah blah blah blah blah blah blah blah blah blah blah blah blah blah blah blah blah
blah blah blah blah blah blah blah blah blah blah blah blah blah blah blah blah blah blah blah blah blah blah blah blah blah
blah blah blah blah blah blah blah blah blah blah blah blah blah blah blah blah blah blah blah blah blah blah blah blah blah
blah blah blah blah blah blah blah blah blah blah blah blah blah blah blah blah blah blah blah blah blah blah blah blah blah
blah blah blah blah blah blah blah blah blah blah blah blah blah blah blah blah blah blah blah blah blah blah blah blah blah
blah blah blah blah blah blah blah blah blah blah blah blah blah blah blah blah blah blah blah blah blah blah blah blah blah
blah blah blah blah blah blah blah blah blah blah blah blah blah blah blah blah blah blah blah blah blah blah blah blah blah
blah blah blah blah blah blah blah blah blah blah blah blah blah blah blah blah blah blah blah blah blah blah blah blah blah
blah blah blah blah blah blah blah blah blah blah blah blah blah blah blah blah blah blah blah blah blah blah blah blah blah
blah blah blah blah blah blah blah blah blah blah blah blah blah blah blah blah blah blah blah blah blah blah blah blah blah
blah blah blah blah blah blah blah blah blah blah blah blah blah blah blah blah blah blah blah blah blah blah blah blah blah
blah blah blah blah blah blah blah blah blah blah blah blah blah blah blah blah blah blah blah blah blah blah blah blah blah
blah blah blah blah blah blah blah blah blah blah blah blah blah blah blah blah blah blah blah blah blah blah blah blah blah
blah blah blah blah blah blah blah blah blah blah blah blah blah blah blah blah blah blah blah blah blah blah blah blah blah
blah blah blah blah blah blah blah blah blah blah blah blah blah blah blah blah blah blah blah blah blah blah blah blah blah
</td>
</tr>
<tr>
<td width="5%">
</td>
<td width="90%">
<hr align="left" />
</td>
</tr>
</table>
</td>
<td width="50%">
<hr align="left" />
<p><center><strong>Right Side</strong></center></p>
<table width="100%" border="1" cellspacing="2" cellpadding="0">
<tr>
<td width="5%">
<strong>1:</strong>
</td>
<td width="90%">
blah blah blah blah blah blah blah blah blah blah blah blah blah blah blah blah blah blah blah blah blah blah blah blah blah
blah blah blah blah blah blah blah blah blah blah blah blah blah blah blah blah blah blah blah blah blah blah blah blah blah
blah blah blah blah blah blah blah blah blah blah blah blah blah blah blah blah blah blah blah blah blah blah blah blah blah
blah blah blah blah blah blah blah blah blah blah blah blah blah blah blah blah blah blah blah blah blah blah blah blah blah
</td>
</tr>
<tr>
<td width="5%">
</td>
<td width="90%">
<hr align="left" />
</td>
</tr>
<tr>
<td width="5%">
<strong>2:</strong>
</td>
<td width="90%">
blah blah blah blah blah blah blah blah blah blah blah blah blah blah blah blah blah blah blah blah blah blah blah blah blah
blah blah blah blah blah blah blah blah blah blah blah blah blah blah blah blah blah blah blah blah blah blah blah blah blah
blah blah blah blah blah blah blah blah blah blah blah blah blah blah blah blah blah blah blah blah blah blah blah blah blah
blah blah blah blah blah blah blah blah blah blah blah blah blah blah blah blah blah blah blah blah blah blah blah blah blah
blah blah blah blah blah blah blah blah blah blah blah blah blah blah blah blah blah blah blah blah blah blah blah blah blah
blah blah blah blah blah blah blah blah blah blah blah blah blah blah blah blah blah blah blah blah blah blah blah blah blah
</td>
</tr>
<tr>
<td width="5%">
</td>
<td width="90%">
<hr align="left" />
</td>
</tr>
</table>
</td>
</tr>
</table>
</body>
</html>
EDIT: de Plus de précisions et restrictions sur cette chose.
-
Il est créé par une servlet programme, de sorte que la commande de deux colonnes est de la boucle de base. C'est, une boucle écrit le premier (à gauche) de la colonne, puis une autre boucle écrit le deuxième (à droite) de la colonne. Ils ne sont pas "blendable" boucles - ils doivent exécuter l'un après l'autre, ce qui réduit gravement ce que je suis autorisé à faire de la mise en forme.
-
Le client a spécifié "non javascript" dans les servlets. C'est une ferme de restriction.
Je peux utiliser le CSS, mais les deux boucles (à gauche, puis à droite) sont fixes.
- Pourriez-vous peut-être fournir une image de la façon dont vous souhaitez que l'alignement? Je ne suis pas 100% sûr de ce que vous me demandez.
- La réponse ci-dessous, avec le code interleaved est parfait, exactement ce dont j'ai besoin. MAIS - en raison des contraintes sur les boucles, je ne peux pas interleave (gauche, droite, gauche, droite) du code.
Vous devez vous connecter pour publier un commentaire.
Pas très sûr de comprendre ce que vous voulez ici, semble que vous voulez lignes pour ajuster de manière dynamique leur hauteur en fonction de son homologue ligne sur l'autre colonne. I. e. la première rangée sur le côté gauche a un texte plus long que la première rangée sur le côté droit, mais vous voulez les deux deuxième lignes de départ aligné, en laissant un espace vide entre le texte de la première ligne sur la colonne de droite et la deuxième ligne sur la colonne de droite, correct?
Est-ce le cas, votre solution est de supprimer la table d'enrubannage. Une table est déjà basé sur des colonnes, de sorte que vous n'avez pas besoin d'une table supplémentaire pour créer les colonnes.
Essayez ce code:
Pas besoin de dire que c'est un terrible et très old school façon de faire ce que vous faites, vous êtes mieux à l'aide de balises div et de css, mais comme vous l'avez dit vous avez hérité de la code, je comprends qu'un peu de refactoring n'est pas une option.
OK je crois que je comprends le problème, à partir de ce que les autres ont dit. Si vous êtes en mesure de modifier le code vous-même (vous n'avez pas explicitement dire), alors la solution la plus rapide est: est-ce
Il n'y a pas vraiment de CSS (c'est à dire de table non) des solutions que je peux penser que le travail de la croix-navigateur. Vous pouvez utiliser
inline-block
mais il y a des bémols.Si je comprends bien, vous voulez les lignes de deux tables d'adapter la hauteur du rang le plus élevé des deux, pour chaque ligne de la table.
Je pense que les deux seuls moyens pour ce faire sont:
Le second est évidemment la voie à suivre, mais le premier devrait aussi fonctionner si les deux tables de toujours avoir le même nombre de lignes (mais vous avez besoin que de toute façon) et vous ne pouvez pas changer le code html.
Hormis cela, je ne pense pas qu'il y a un code html /css solution.