Select 使用空格填充以固定宽度显示列<;选择>;
我试图通过在文本中填充空格来创建下拉列表中列的效果,如本例所示:Select 使用空格填充以固定宽度显示列<;选择>;,select,drop-down-menu,whitespace,fixed-width,Select,Drop Down Menu,Whitespace,Fixed Width,我试图通过在文本中填充空格来创建下拉列表中列的效果,如本例所示: <select style="font-family: courier;"> <option value="1">[Aux1+1] [*] [Aux1+1] [@Tn=PP] </option> <option value="2">[Main] [*] [Main Apples Oranges] [@Fu=$p] </option> &l
<select style="font-family: courier;">
<option value="1">[Aux1+1] [*] [Aux1+1] [@Tn=PP] </option>
<option value="2">[Main] [*] [Main Apples Oranges] [@Fu=$p] </option>
<option value="3">[Main] [*] [Next NP] [@Fu=n] </option>
<option value="4">[Main] [Dr] [Main] [@Ty=$p] </option>
</select>
[Aux1+1][*][Aux1+1][@Tn=PP]
[Main][*][Main Apples橙子][@Fu=$p]
[Main][*][Next NP][@Fu=n]
[Main][Dr][Main][@Ty=$p]
根据这一点,这是可能的
问题是空格被压缩了,所以列不会对齐。FF、IE6和Chrome的结果相同
我缺少什么?您需要使用
而不仅仅是普通空格
例如,您可以使用以下选项执行此操作:
<option value="2">[Main] [*] [Main Apples Oranges] [@Fu=$p] </option>
[Main][*][Main Apples橙子][@Fu=$p]
默认情况下,HTML中的空白是收缩的。使用CSS选择单空格字体(如链接到的示例中所示),并将空白设置为预格式化
option {
font-family: monospace;
white-space: pre;
}
扩展patmortech的答案,在asp.net中用
而不是&;nbsp代码>
//Pad the columns
string spaceDecode = Server.HtmlDecode(" ");
for (int i = 0; i < ddl.Items.Count; i++)
{
ListItem item = ddl.Items[i];
item.Text = item .Text.Replace(" ", spaceDecode);
}
//填充列
字符串spaceDecode=Server.HtmlDecode(“”);
对于(int i=0;i
这是否适用于选择选项?我在Firefox 3和IE7中试用过,但似乎没有。该死的,看起来你是对的。不过,使用不间断空格似乎是可行的(
),所以你可以接受@patmortech的建议。我怎么会错过呢?通用HTML规则适用。我实际上是在ASP.Net页面的codebehind中加载dropdownlist,有一个技巧可以正确呈现。代码如下。