我有一个使用C#和Visual Studio创建的网站。
我的Site.master中有以下菜单:
<div class="menu">
<ul>
<li runat="server" id="liHome"> <a href="Default.aspx">Home</a></li>
<li runat="server" id="liAbout"> <a href="About.aspx">About</a></li>
<li runat="server" id="liContact"><a href="ContactUs.aspx">Contact</a></li>
</ul>
</div>
我有以下css:
.menu ul {}
.menu ul li a{padding:9px 10px; display:block; color:#fff; font-size:16px; font-weight:bold;}
.menu ul li a:hover{color:#00ff00; text-decoration:none; }
我想要做的是点击菜单时,我想要更改所选菜单项的文本并保持不同的颜色。在我的Site.master.cs中,我正在为“关于”菜单项执行以下操作,例如:
if (Request.Url.ToString().Contains("About") == true)
{
liContact.Style.Add("color", "#00ff00");
}
但颜色不会保持绿色。 anyoe可以帮我解决我做错的事吗? 感谢
答案 0 :(得分:1)
本教程可帮助您解决问卷。
默认情况下,链接在所有浏览器中显示如下:
未访问的链接带有下划线和蓝色 访问链接带有下划线和紫色 活动链接带有下划线和红色
答案 1 :(得分:1)
您可以按照以下方式使用
if (Request.Url.ToString().Contains("About") == true)
{
liContact.Style.Add("color", "#00ff00!important");
}
您需要在!important
中添加css
,然后才能使用。{
否则它将被类覆盖。
其他明智的做法是
.menu ul {}
.menu ul li a{padding:9px 10px; display:block; color:#fff; font-size:16px; font-weight:bold;}
.menu ul li a:hover{color:#00ff00; text-decoration:none; }
.menu ul li.selected a{padding:9px 10px; display:block; color:#00ff00; font-size:16px;
font-weight:bold;}
而不是设置颜色替换类。
liContact.Attributes.Remove("class");
liContact.Attributes.Add("class", "selected");
.menu ul li.selected a:hover{padding:9px 10px; display:block; color:#00ff00; font-size:16px;
font-weight:bold;}