2009-06-19 77 views
3

我有一个动态下拉列表的表。如何为动态下拉列表设置表格列宽?

下拉宽度将根据其内容而变化。

我想表列与下拉宽度相同。

如果我设置的宽度小于下拉列表的大小,似乎使列大于下拉列表,同时包装列标题,它会在下拉列表的任一侧插入空格。

在CSS中有没有一种方法可以让列与内容大小相同?

下面是一个示例HTML表格,其包括我的当前定位点(组装机)

<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">&nbsp;</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> 

没有任何的CSS

存在的问题如果我从膨胀柱除去宽度=“80%”的动态列将有空白

我已经试过宽度:在动态列汽车,将其设置为一个固定的宽度,但没有这些工作对我来说

+0

是的。大概。如果您可以向我们展示您的html和当前的css,我们可能会对您更具体并且更加有用。 – 2009-06-19 15:45:56

+0

列标题是否比下拉菜单宽? – jeroen 2009-06-19 22:04:09

+0

如果我将宽度设置为较小的值,那么没有列标题只会包装 – 2009-06-22 13:57:30

回答

0

你为什么不在这个特定的表中重写表参数中的css数据?

该参数传入(或解析到别处)。

1

你需要的是一个宽度为100%,宽度为1的表格,没有定义宽度。具有下拉菜单的列可以具有很小的宽度,浏览器会自动使整个列与下拉列表的宽度匹配。

的HTML应该是这样的:

<table width="100%" > 
    <tr> 
    <th width="80">FixedWidthColumn</th> 
    <th>ExpandingColumn</th> 
    <th width="122"> </th> 
    <th width="10">DynamicColumn</th> 
    </tr> 
    <tr> 
    <td align="center">1</td> 
    <td>Text</td> 
    <td align="center">Button</td> 
    <td align="center">DropDownList</td> 
    </tr> 
</table> 

作为回答下面的话,有一些解决方案,您可以探索:

你可以一个一个选项标签可能添加到您的下拉列表至少是一定的宽度和一些不换行空格,像这样:

<option>Please select...&nbsp;&nbsp;&nbsp;&nbsp;</option> 

你能给选择标记最小宽度像这样:

<select style="min-width: 200px;" > 
0

这就是表格的工作方式,如果有2列没有宽度集合并且表格宽度被设置,剩余的可用空间将分布在2列之间。

如果ExpandingColumn中的内容足够大以填充剩余宽度,则从表中移除100%宽度将解决您的问题。