2012-06-14 37 views
1

下面我有下面的代码清单到母版页为什么CSS:活动链接不会使当前页面链接高亮显示?

<div id="header"> 
      <ul> 
       <li><a href="default.aspx">Home</a></li> 
       <li><a href="page1.aspx">Page1</a></li> 

      </ul> 
     </div>  ​ 

与CSS

#header a:hover { 
    color: #AA1111; 
    border-color: #AA1111; 
} 

#header a:active { 
    color: #AA1111; 
    border-color:#AA1111; 
} 

但是当页面已在工作环节不与颜色来突出显示。

+2

两组都有相同的颜色? –

+0

你有边框颜色,你有没有边界? – Aristos

+0

第一个当悬停 是当链路活动我不会菜单上的颜色选择住它 – Kyabroudi

回答

2

:active并不表明在当前页面激活链接将被高亮显示。

:active是鼠标点击鼠标在链接上发布之间的链路的状态。尝试将鼠标放在链接上以便自己查看。

要设置不同的风格,你要么需要给当前页面的链接不同的类,并针对该类在你的CSS当前页面的链接。

如果您使用.NET,我建议使用具有指定当前页面菜单链接类的选项不同的CSS菜单适配器/列表控件。

+0

没关系改变了我的CSS \t与

  • Home
  • 取代我的代码的#header一个。选择{ \t \t颜色:#AA1111; \t \t border-color:#AA1111; \t} 薄添加jQuery代码 $(文件)。就绪(函数(){ $( '丽A')。点击(函数(){ $( “#报头”)。removeClass( ); $(this).addClass('selected'); }); }); 仍然只突出主页!你能纠正我! 对不起,我的母语为非母语 – Kyabroudi

    +0

    您需要.removeClass('selected') –

    0

    我想你是混淆了伪选择器:active的含义。该CSS规则将适用于你点击链接。但是,如果该链接将您带到新页面,则锚点不再处于活动状态。

    你需要做的是向锚点中添加一个类,具体取决于你在哪个页面上。所以,在default.aspx中,你需要确保你有<a class="active" href="default.aspx">Home</a>。然后,您需要将您的css规则更改为#header a.active

    0

    你可能想设置你的页面的方式:

    #header li {} 
    #header li.active a {color: #AA1111; border-color:#AA1111;} 
    
    
    <div id="header"> 
         <ul> 
          <li class="active"><a href="default.aspx">Home</a></li> 
          <li><a href="page1.aspx">Page1</a></li> 
    
         </ul> 
    </div> 
    

    您需要在此基础上页面设置上li活动类。

    演示:http://jsfiddle.net/lucuma/HT4U4/

    相关问题