我使用的是一个简单的ASP.NET链接按钮控件。
<asp:LinkButton ID="LinkButtonDelete" runat="server" CssClass="linkButtonDelete">Delete</asp:LinkButton>
我使用以下css定义设置此按钮的样式:
.linkButtonDelete:link
{
background: transparent url(/../images/btnRegular.png) no-repeat scroll 0 0 !important;
}
.linkButtonDelete:hover
{
background: transparent url(/../images/btnHighlight.png) no-repeat scroll 0 0 !important;
}
这就是问题所在:如果我禁用了linkbutton(LinkButtonDelete.Enabled = false;)然后将鼠标悬停在链接按钮上,则背景图片会显示btnHighlight.png(而不是btnRegular.png)。我在IE9和Chrome中测试了这个。同样的效果。
我是否有机会仅使用CSS应用“禁用”样式(请不要使用Javascript!)?
由于
答案 0 :(得分:2)
我保留了我的另一个答案,因为它也可以正常工作,但是如果你想要一个纯粹的CSS解决方案,请查看从CSS 2.1开始支持的属性选择器。假设ASP.NET设置了disabled属性,你可以添加如下内容:
.linkButtonDelete[disabled="disabled"]:hover
{
background: something else;
}
答案 1 :(得分:1)
听起来它的表现与你告诉它完全一样。它显示了悬停。如果您不希望它显示悬停,当您禁用该按钮时,听起来您需要将Class设置为其他内容并创建一个没有悬停的新类。
LinkButtonDelete.Enabled = false;
//then
LinkButtonDelete.Attributes["class"] = "linkButtonDeleteDisabled"; // give it a new class
或
LinkButtonDelete.CssClass = "linkButtonDeleteDisabled";