2011-09-09 4 views
4

Je remplaçais TDs multiples avec un seul TD et un attribut colspan.Pourquoi <td></td><td></td> pas le même que <td colspan = "2"></td>

Cependant, cela rend complètement différent.

Je ne vois pas pourquoi <td></td><td></td> est différent <td colspan="2"></td>

Mon problème est que la somme de la largeur des 2 premiers TDs n'est pas la même que la largeur de la colspanned TD. Donc mes cellules ne s'alignent pas.

Cela se produit dans IE, FF et Safari.

BONUS QUESTION: Existe-t-il des styles, etc. Je peux m'assurer que la largeur de la colonne colspan est égale à la somme de la largeur des autres TD remplacés?

Pourquoi est-ce que je fais cela? J'essaie de réduire la quantité de HTML généré par DevExpress XtraReports qui utilise des milliers de minuscules TD pour positionner les éléments. Cela bloque le HTML plusieurs fois, donc je capture le code HTML avant qu'il ne soit envoyé au navigateur et que je fasse des recherches/remplacements rudimentaires. C'est un hack, je sais.

+0

Avez-vous une capture d'écran? Et une explication de ce que vous attendiez de voir? – Thilo

Répondre

7

Le premier exemple aura deux ensembles de marges, de remplissage, de règles CSS, etc. Le second aura un seul ensemble de règles appliquées, mais appliqué à un élément qui tient dans deux colonnes.

0

Je pourrais certainement voir où les tds multiples rendraient différemment à cause de l'espacement des colonnes. Une façon de vérifier ceci est de forcer une bordure sur la table (par exemple). Cela devrait vous mener dans une certaine direction.

0

Vous devez définir leur largeur avec des styles. C'est à peu près le seul moyen. Mais alors, vous pourriez aussi bien utiliser les DIV avec la largeur spécifiée. Plus de contrôle.

Les tableaux sont destinés aux données. J'avais l'habitude d'être un maniaque de la table. Une fois que j'ai eu le coup de CSS pour la mise en page, j'utilise rarement les tables, à moins que je VOULE la largeur de changer. C'est la chose cool sur les tables - ils se rempliront bien sur la base des données.

Je n'ai jamais vu d'affichage plus large ou plus étroit que ci-dessus/ci-dessous. Sauf s'il y a une erreur dans votre code. Postez-le, et nous verrons ce que nous pouvons faire. Qu'est-ce que vous essayez exactement d'atteindre par tout cela?

1

Postez votre code. Sinon, ça pourrait être n'importe quoi. Mais les trucs super faciles ci-dessous fonctionnent.

Cela va créer une table avec deux lignes. La première rangée a 3 colonnes. La deuxième rangée a 2 colonnes, la première prenant deux colonnes.

<table border="1"> 
<tr> 
<td>Something</td> 
<td>Something</td> 
<td>Something</td> 
</tr> 
<tr> 
<td colspan=2>Something2</td> 
<td>Something</td> 
</tr> 
</table>