【问题标题】:Style disabled ASP.NET Linkbutton with background image样式禁用 ASP.NET Linkbutton 与背景图像
【发布时间】:2011-10-10 23:41:39
【问题描述】:

我正在使用一个简单的 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;
}

这就是问题所在:如果我禁用链接按钮 (LinkBut​​tonDelete.Enabled = false;) 然后将鼠标悬停在链接按钮上,背景图像会显示 btnHighlight.png(而不是 btnRegular.png)。我在 IE9 和 Chrome 中对此进行了测试。效果一样。

我是否有机会仅使用 CSS 应用“禁用”样式(请不要使用 Javascript!)?

谢谢

【问题讨论】:

    标签: asp.net css linkbutton


    【解决方案1】:

    我保留我的另一个答案,因为它也可以,但是如果您想要一个纯 CSS 解决方案,请查看从 CSS 2.1 开始支持的属性选择器。假设 ASP.NET 设置了 disabled 属性,您可以添加如下内容:

    .linkButtonDelete[disabled="disabled"]:hover
    {
    background: something else;   
    }
    

    【讨论】:

    • 是的,就是这样。完美的!节省了我的时间,因为我的真实场景比给定的示例要复杂一些。修改 css 可以解决我所有的链接按钮。非常感谢,Doozer。
    【解决方案2】:

    听起来它完全按照您的指示行事。它显示悬停。如果您不希望它显示悬停,当您禁用按钮时,听起来您需要将 Class 设置为其他内容并创建一个没有悬停的新类。

    LinkButtonDelete.Enabled = false;
    //then
    LinkButtonDelete.Attributes["class"] = "linkButtonDeleteDisabled"; // give it a new class
    

     LinkButtonDelete.CssClass = "linkButtonDeleteDisabled";
    

    【讨论】:

    • 谢谢 Doozer,我只是希望我可以只用 css 解决这个问题。例如,我希望我可以做类似 .linkBut​​tonDelte:hover[disabled] 的事情,但这似乎不起作用。如果没有简单的方法,我想我必须接受你的建议。
    • @IngmarBode 明白了。用纯 CSS 为您尝试了另一种解决方案
    猜你喜欢
    • 2011-02-01
    • 1970-01-01
    • 2022-07-21
    • 2017-10-02
    • 2015-02-22
    • 1970-01-01
    • 1970-01-01
    • 2011-06-17
    • 2016-10-20
    相关资源
    最近更新 更多