Bootstrap突出显示导航列表中的所选项目

时间:2013-03-28 12:00:55

标签: ruby-on-rails-3 twitter-bootstrap slim-lang

所以我使用bootstrap和slim来构建一些可导航的页面。我坚持突出显示列表中的选定项目,因为“激活”类已应用。我找到了一些名为affix或scrollspy的东西,但这些东西与我需要做的不同,即在页面之间导航。我有以下代码:

  .container-fluid
      .row-fluid
        .span2
          ul.nav.nav-list
            li.active = link_to 'Home', root_path
            li.divider
            li = link_to 'Openings', openings_path
            ...
        .span10
          ==yield

我认为应该有一些最好的做法。任何建议都将不胜感激。

1 个答案:

答案 0 :(得分:-1)

如果您要动态创建页面,那么您通常可以使用框架将活动类添加到菜单链接中。我对铁轨上的红宝石没有经验,所以我不能给你太多的帮助。

虽然有很多其他方法可以达到同样的目标。例如,您可以在各个页面的body标签中添加类,调整导航列表项的HTML,添加CSS样式,这样你就可以了。

HTML

<body class="home"> 
or  
<body class="contact">  

<ul class="nav nav-list">
  <li class="home"> <a href="#">home</li>
  <li class="contact"> <a href="#">contact</li>
</ul>  

CSS

.home li.home a, .contact li.contact a{  
background-color#999;
color:white;
}

or if you want to go with the built-in Bootstrap active styling, 
something similar to this:  

.home li.home a, .contact li.contact a,
.home li.home a, .contact li.contact a:hover,
.home li.home a, .contact li.contact a:focus {  
color: #555555;
text-decoration: none;
background-color: #e5e5e5;
-webkit-box-shadow: inset 0 3px 8px rgba(0, 0, 0, 0.125);
-moz-box-shadow: inset 0 3px 8px rgba(0, 0, 0, 0.125);
box-shadow: inset 0 3px 8px rgba(0, 0, 0, 0.125);
}

您可以将此方法用于动态和静态站点。

希望这可能会让你开始!