asp.net - 动态设置的 CSS 样式被覆盖

标签 asp.net html css

我很少<asp:LinkButton>在我的网站菜单栏中。菜单栏和这些按钮设置了 Css。我正在寻找的是突出显示与事件页面相对应的按钮。

我可以将新的 Css 类动态应用到我的 Linkbuttons (由浏览器呈现为 anchor 标记)但新应用的 CSS 被现有类覆盖。我曾尝试分析那里的任何错误,但没有运气。这是我的代码-

HTML的一部分-

<ul class="navigation">
   <li>
       <asp:LinkButton ID="lbtn_about" runat="server" OnClick="lbtn_about_Click">About Us</asp:LinkButton>
   </li>

现有的CSS-

 ul.navigation li a
  {
    text-decoration: none;
    display: block;
    color: #838383;
    height: 24px;
  }

要动态设置的 Css 类-

.activeLink
  {
    color: #588500;
  }

在我的页面加载中我正在这样做-

LinkButton lb = (LinkButton)Page.Master.Master.FindControl("lbtn_about");
lb.CssClass = "activeLink";

在浏览器中呈现的 HTML-

<a id="ctl00_ctl00_lbtn_about" class="activeLink" href="javascript:__doPostBack('ctl00$ctl00$lbtn_about','')">About Us</a>

很明显类已设置,但是 activeLink css 被 ul.navigation li a 覆盖.请提出建议。

最佳答案

这是因为 ul.navigation li a.activeLink 更具体。

如果你考虑一个点系统,一个元素 ul 有 1 个点,一个类 navigation 有 10 个点。因此 ul.navigation li aul.navigation 上至少有 11 分,而 activeLink 有 10 分。

很好detailed article on css specificity !

http://www.stuffandnonsense.co.uk/archives/css_specificity_wars.html">

至于解决方案,您只需要更具体地引用您的 .activeLink,无论是 #id 还是 ul.navigation li a。 activeLink.

出发吧,愿 css 与你同在!

关于asp.net - 动态设置的 CSS 样式被覆盖,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/13598333/

相关文章:

css - 页脚 ul 边缘渗入 body ......有时

javascript - 停靠在主页脚顶部的粘性页脚

javascript - 为网络应用程序实现计时器

c# - 使用上一页获取 GridView 选定行值

javascript - 开始使用 javascript,有一个问题

javascript - 如何在 DOM 元素的内容前后插入空格?

html - 从 html 中提取表格到命令行中的 excel

Javascript 隐藏 div 并显示另一个带有简单倒计时的 div

asp.net - EF Code First 项目在更改数据库连接后不会创建 AspNetUsers、AspNetRoles 等表

asp.net - 如何判断用户帐户是否已使用 ASP.Net 表单例份验证登录?