我需要在网页上实现导航菜单,可能有几个级别的选项卡。每当CSS处于我的控制之下时,我都会使用CSS方式,但现在我在使用扩展的CSS库(本例中为Twitter的Bootstrap)时遇到了问题。如何实现导航“选择”项
首先,这是我用过的CSS方式。例如HTML:
<html>
<head>
<title>Example page</title>
</head>
<body class="articles">
<div class="navigation">
<ul>
<li class="frontpage"><a href="#">Frontpage</a></li>
<li class="articles"><a href="#">Articles</a></li>
</ul>
</div>
<p>Blah blah.</p>
</body>
</html>
...和CSS:
body.frontpage div.navigation li.frontpage,
body.articles div.navigation li.articles {
background-color:red;
color:white;
}
够简单。在适当的时候只需要改变身体的课程。
现在,Bootstrap似乎使用基于类的样式来选择导航项目(顶栏,标签,药丸)。例如:
...
<div class="navigation">
<ul class="tabs">
<li class="active"><a href="#">Frontpage</a></li>
<li><a href="#">Articles</a></li>
</ul>
</div>
...
我最初以为做一些像
navigation = ('frontpage',)
# or
navigation = ('articles', 'categories', 'foo',)
控制器
,然后通过这个元组的模板,但不知何故,有“做错了”这个氛围。
所以问题是:由于我实际上必须在模板中打印类选择,因此如何跟踪当前位置(如导航树中此页所在的位置),因为页面可能有多个级别的标签或其他导航项目?有没有一种首选的方法来做到这一点?
我在使用金字塔的路线风格与Mako模板,但一般的答案也赞赏。
改变通过活动链接(例如在Jinja2的,但它应该是相似的)
更多信息只注意到你想每个项目都有自己的班级。这只是将其他元素传递给每件事物。 '
这很接近我最终做的。有点笨重,但它的工作,所以我会接受这个答案。 – tuomur
很酷我实际上改变了我的设置,甚至更好...每个导航项目是一个类标题,href和活动属性的对象,我只是循环他们显示导航,我发现它更好。 –