Comment définir la largeur de colonne pour la dynamique dans la liste déroulante?
J'ai une table avec une dynamique dans la liste déroulante.
La largeur de la liste déroulante va changer en fonction de son contenu.
Je voudrais la colonne de la table pour être la même que la largeur de la liste déroulante.
Si j'ai mis une largeur inférieure à la taille de la liste déroulante IE semble rendre la colonne plus grand que le menu déroulant tout en enveloppant le titre de la colonne, il insère des espaces de chaque côté de la liste déroulante.
Est-il un moyen en CSS-à-dire de rendre la colonne de la même taille que son contenu?
Voici un exemple de tableau html qui comprend mon correctif en cours (bidouille)
<table id="mappingtable" width="100%" align="center" cellspacing="0" cellpadding="0" border="0">
<tr>
<th width="80px">FixedWidthColumn</th>
<th width="80%">ExpandingColumn</th>
<th width="122px"> </th>
<th>DynamicColumn</th>
</tr>
<tr>
<td align="center">1</td>
<td>Text</td>
<td align="center">Button</td>
<td align="center">DropDownList</td>
</tr>
</table>
Le problème existe sans css
Si je supprime l'width="80%" de l'élargissement de la colonne de la dynamique de la colonne ont des espaces
J'ai essayé largeur: auto sur la dynamique de la colonne et la valeur de largeur fixe, mais aucune ne fonctionne pour moi
Est le titre de la colonne plus large que la liste déroulante?
Pas le titre de la colonne seulement enveloppements si j'ai mis de la largeur d'une petite valeur
OriginalL'auteur Adam Fox | 2009-06-19
Vous devez vous connecter pour publier un commentaire.
Ce que vous avez besoin d'une table avec une largeur de 100% et 1 colonne sans une largeur définie. La colonne de la liste déroulante peut avoir une très petite largeur et le navigateur va automatiquement faire l'ensemble de la colonne correspondent à la largeur de la liste déroulante.
Le HTML devrait ressembler à ceci:
Comme une réponse à la lumière des remarques ci-dessous, il y a des solutions, vous pouvez explorer:
Vous pourriez peut-être ajouter une option tag à votre liste déroulante qui est au moins une certaine largeur et de certains espaces insécables comme suit:
Vous pourriez donner à la balise select une largeur minimum de la sorte:
Essayez de mettre le cap dans un <nobr> tag. Qui devrait l'empêcher de l'emballage.
La configuration de width="10" sur la dynamique de la colonne a travaillé quand j'ai essayé cet exemple. J'ai testé avec Internet Explorer 7, Firefox 3.5.1 et Opera 9.64. Quel navigateur et la version êtes-vous tester? Aussi, quel DOCTYPE est spécifié sur le dessus dans le HTML (le cas échéant) ?
Le DOCTYPE est comme suit <!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0 Transitional//EN" >
OriginalL'auteur Michiel
Pourquoi n'avez-vous pas, par ce tableau, remplacer le css de données à l'intérieur de la table de paramètres?
Où ce paramètre est transmis (ou analysé ailleurs).
Oui, vous pouvez définir le paramètre de largeur de votre tableau en tant que tel: largeur="${myTable.largeur}", où la myTable.la largeur est un paramètre est défini quelque part d'autre (calculé)
OriginalL'auteur amischiefr
C'est la manière dont les tables de travail, si il y a 2 colonnes sans largeur et la largeur de la table est défini, le reste de l'espace disponible sera réparti entre les 2 colonnes.
De retirer les 100% de la largeur de la table permettrait de résoudre votre problème si le contenu de la ExpandingColumn est assez grand pour remplir la largeur restante.
OriginalL'auteur jeroen