因此,如果我在.cs代码中将诸如背景颜色之类的样式添加到LinkButton中,它将覆盖任何适用于它的css。
有没有办法在我的代码中添加样式而不是替换它?谢谢!我使用链接按钮作为菜单,所以active linkButton应该有不同的背景色。因此,我的解决方案是,当用户单击我的事件处理程序中的链接按钮时,我会这样做:
lnkView.BackColor = System.Drawing.Color.FromName("#369");
但是,我在css中的悬停样式将不再起作用:
.navlist a:hover
{
color: #fff;
background-color: #369;
text-decoration: none;
}
在我的aspx中:
<ul class="navlist">
<li><asp:LinkButton ID="lnkView" runat="server">view</asp:LinkButton></li>
<li><asp:LinkButton ID="lnkCreateNew" runat="server">create new</asp:LinkButton></li>
</ul>
发布于 2009-12-24 00:11:04
EDIT:您的问题不清楚,但您似乎误解了CSS。向style
属性添加background-color
不会导致它完全忽略任何CSS规则。相反,它将覆盖background-color
属性的任何CSS规则,但不会影响任何其他规则。
如果不想覆盖CSS规则中的background-color
属性,请将!important
标志添加到:hover
中的CSS规则,如下所示:
background-color: #369 !important;
此外,改变颜色,使变化将是明显的。
或者,您可以使用您的背景色为.navlist a:link .Active
添加一个新的CSS规则,然后在代码中添加Active
类。(lnkView.CssClass += "Active"
)
顺便说一句,您应该编写Color.FromArgb(0x33, 0x66, 0x99)
,而不是调用Color.FromName
。
发布于 2009-12-24 00:01:24
任何内联样式都将覆盖从文档头或外部css文件继承的任何样式。唯一的另一种选择是在DOM ready或Window ready事件之后添加覆盖对象样式的javascript函数。
发布于 2009-12-24 00:38:51
不确定您在这里的用途,因为您的问题不是很清楚。然而,这也可能是一种选择。
有两种css样式:
.navlistafteranaction a:link
{
color: #fff;
background-color: #123;
text-decoration: none;
}
.navlist a:link
{
color: #fff;
background-color: #123;
text-decoration: none;
}
然后在你的代码中切换你的CSSClass:
lnkbtn.CssClass = "navlistafteranaction";
这将更改类,使其具有您想要的任何样式。
https://stackoverflow.com/questions/1956000
复制相似问题