2014-08-29 146 views
1

我创建了一个使用列表元素id的方法,根据当前页面更改菜单按钮的颜色。如果它与当前页面不匹配,则该标识设置为默认字符串。它在Chrome中运行,但在FireFox中不起作用。让我知道是否需要添加更多代码。CSS在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

请发布生成的html而不是asp代码。 – Oriol 2014-08-29 16:35:57

+0

为什么你使用一个id而不是一个类? – epascarello 2014-08-29 16:40:37

+0

@epascarello我认为这将是处理它的最好方法? – user3339242 2014-08-29 16:52:46

回答