使用空白填充以固定宽度显示列

发布于 2024-09-01 14:38:20 字数 654 浏览 6 评论 0原文

我试图通过用空格填充文本来创建下拉列表中的列的效果,如下例所示:

<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>

根据此 博客,这是可能的。

问题是空白被收缩,导致列不对齐。在 FF、IE6 和 Chrome 中结果相同。

我缺少什么?

I am trying to create the effect of columns in a dropdown by padding text with whitespace as in this example:

<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>

According to this blog, it's possible.

The problem is the whitespace is contracted so that the columsn don't line up. SAme results in FF, IE6 and Chrome.

What am I missing?

如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。

扫码二维码加入Web技术交流群

发布评论

需要 登录 才能够评论, 你可以免费 注册 一个本站的账号。

评论(3

话少情深 2024-09-08 14:38:20

您需要使用   而不仅仅是普通空格。

例如,您可以使用以下选项来执行此操作:

<option value="2">[Main]   [*]  [Main Apples Oranges] [@Fu=$p] </option>

You'll need to use   instead of just normal spaces.

For example, you would do this with your option:

<option value="2">[Main]   [*]  [Main Apples Oranges] [@Fu=$p] </option>
想你只要分分秒秒 2024-09-08 14:38:20

扩展 patmortech 的答案,使用   而不是   在 asp.net 中呈现 ListItem

//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);
}

Expanding on the answer by patmortech to render a ListItem in asp.net with   instead of &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);
}
作死小能手 2024-09-08 14:38:20

HTML 中的空白默认是收缩的。使用 CSS 选择等宽字体(如您链接到的示例中)并将空白样式设置为预格式化。

option {
    font-family: monospace;
    white-space: pre;
}

White space in HTML is contracted by default. Use CSS to select a monospace font (like in the example you're linking to) and style the white space as preformatted.

option {
    font-family: monospace;
    white-space: pre;
}
~没有更多了~
我们使用 Cookies 和其他技术来定制您的体验包括您的登录状态等。通过阅读我们的 隐私政策 了解更多相关信息。 单击 接受 或继续使用网站,即表示您同意使用 Cookies 和您的相关数据。
原文