我使用list elements id创建了一个方法,根据当前页面更改菜单按钮的颜色。如果它与当前页面不匹配,则将id设置为默认字符串。它适用于Chrome,但在FireFox中无效。如果我需要添加更多代码,请告诉我。
在母版页
<div id="body">
<asp:ContentPlaceHolder runat="server" ID="FeaturedContent" />
<nav>
<ul id="menu_wrap" class="Blue">
<li class="button" id="<%= SetSelectedLink("Default.aspx") %>"><a href="Default.aspx">Manage Report</a></li>
<li class="button" id="<%= SetSelectedLink("Item.aspx") %>"><a href="Item.aspx">Create New Item</a></li>
<li class="button" id="<%= SetSelectedLink("CloneReport.aspx") %>"><a href="CloneReport.aspx">Clone Report</a></li>
</ul>
</nav>
</div>
在Master.cs文件中
public string SetSelectedLink(string linkUrl)
{
var url = Request.Url.AbsolutePath.ToLower();
return url.Contains(linkUrl.ToLower()) ? "temp" : "";
}
在Css文件中
li#temp.button a {
background: #0078a5;
background: -moz-linear-gradient(top, #0078a5 0%, #00adee 100%);
background: -webkit-gradient(linear, left top, left bottom, color-stop(0%,#0078a5), color-stop(100%,#00adee));
background: -webkit-linear-gradient(top, #0078a5 0%,#00adee 100%);
background: -o-linear-gradient(top, #0078a5 0%,#00adee 100%);
background: -ms-linear-gradient(top, #0078a5 0%,#00adee 100%);
filter: progid:DXImageTransform.Microsoft.gradient( startColorstr='#0078a5', endColorstr='#00adee',GradientType=0 );
background: linear-gradient(top, #0078a5 0%,#00adee 100%);
}
答案 0 :(得分:1)
此语法已过时:
linear-gradient(top, #0078a5 0%,#00adee 100%);
新语法是
linear-gradient(to bottom, #0078a5 0%,#00adee 100%);
请参阅MDN文章中的History of the syntax和Cross-browser gradients。