2

所以我有一段时间做一些我认为应该如此简单的事情。

我有一个<asp:ListBox />要设置样式的元素,因为我认为默认值看起来很可怕,尤其是边框。

但似乎很少有属性在 CSS 中生效,最明显的是无法删除边框。

需要注意的是,我需要它在 IE8 和 IE7 中工作,而不仅仅是其他更现代的浏览器。

这个示例站点有漂亮的列表框元素,但我无法接近它们。

有什么想法吗?

继承人的HTML:

<asp:ListBox ID="ListBox1" runat="server" SelectionMode="Multiple" AutoPostBack="true"
    onselectedindexchanged="ListBox1_SelectedIndexChanged" CssClass="myListBox" >
    <asp:ListItem>ITEM 1</asp:ListItem>  
    <asp:ListItem>ITEM 2</asp:ListItem>  
    <asp:ListItem>ITEM 3</asp:ListItem>  
    <asp:ListItem>ITEM 4</asp:ListItem>  
</asp:ListBox>

和CSS:

.myListBox
{
    border-style:none;
    border-width:0px;
    border: none;
    font-size:12pt;
    font-family:Verdana;
}
4

2 回答 2

1

您的 CSS 类中有错字

CssClass="myListbox" 

应该

CssClass="myListBox" 

然后您可以在实际选项上应用样式,即

.myListBox option {
    background-color: #FFFF00;
    color: #FF0000;
}

尽管这在所有浏览器中都不会起作用。因此,您需要根据自己的需要进行调整,或者采取完全不同的方法,例如 3rd 方插件(查看 jquery ui 选项)或像 Peri 所说的那样构建自己的。

一种选择可能是jQuery UI Multiselect ,您应该可以使用Themeroller 对其进行样式设置。

尽管您可能只想尝试自定义自己/不同的方法以满足您的需求。

于 2012-12-06T21:55:23.163 回答
0

示例站点没有使用列表框,它们只是使用 html 的无序列表。您可能无法实现他们使用 ASP.NET ListBox 控件所做的事情。您必须创建自己的控件并使其呈现您想要的方式。

于 2012-12-06T21:24:26.027 回答