ASP.NET ListBox样式 - 删除边框并添加着色

时间:2012-12-06 21:19:24

标签: asp.net css listbox styling

所以我很想做一些我觉得应该这么简单的事情。

我想要一个<asp:ListBox />元素,因为我认为默认情况看起来很可怕,尤其是边框。

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

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

This example site有漂亮的列表框元素,但我无法接近它们。

有什么想法吗?

继承人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;
}

2 个答案:

答案 0 :(得分:1)

CSS类中有拼写错误

CssClass="myListbox" 

应该是

CssClass="myListBox" 

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

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

虽然这在所有浏览器中都不起作用。因此,您需要根据自己的需要进行调整,或采用完全不同的方法,如第三方插件(查看jquery ui选项)或构建自己的Peri声明。

一个选项可能是jQuery UI Multiselect,您应该使用Themeroller设置样式。

虽然您可能只是希望自定义您自己/不同的方法以满足您的需求。

答案 1 :(得分:0)

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