Bootstrap 边栏扩展子类别
Bootstrap Sidebar Expanding Subcategories
使用 this as a my starting template. I am attempting to integrate the bootstrap way of having expanding subcategories as seen on the sidebar of the getting started page of getbootstrap.
但是,我在滚动页面时遇到问题,如果我到达类别或其子类别,它会在边栏中突出显示该类别的所有部分(而不仅仅是子类别)。
这是我的侧边栏的片段 HTML:
<div class="col-md-3" id="leftCol">
<ul class="nav nav-stacked" id="sidebar">
<li class="active">
<a>User Guide</a>
<ul class="nav">
<li>
<a href="#intro">Introduction</a>
</li>
</ul>
</li>
<li>
<a href="#search">Searching</a>
<ul class="nav">
<li>
<a href="#searchresults">Search Results</a>
<a href="#understandingsearch">Understanding Search Results</a>
</li>
</ul>
</li>
<li>
<a href="#profile">User Profile</a>
<ul class="nav">
<li>
<a href="#viewprofile">Viewing a Profile</a>
</li>
</ul>
</li>
<li>
<a href="#eventgraph">Event Graph</a>
<ul class="nav">
<li>
<a href="#graphdisplay">Graph Display</a>
<a href="#graphinteraction">Graph Interaction</a>
</li>
</ul>
</li>
<li>
<a href="#infopanel">Information Panel</a>
<ul class="nav">
<li>
<a href="#paneldisplay">Panel Display</a>
</li>
</ul>
</li>
</ul>
</div>
和 CSS:
body {
padding-top:50px;
}
#masthead {
min-height:250px;
}
#masthead h1 {
font-size: 30px;
line-height: 1;
padding-top:20px;
}
#masthead .well {
margin-top:8%;
}
@media screen and (min-width: 768px) {
#masthead h1 {
font-size: 50px;
}
}
.navbar-bright {
background-color:#111155;
color:#fff;
}
.affix-top,.affix{
position: static;
}
@media (min-width: 979px) {
#sidebar.affix-top {
position: static;
margin-top:30px;
width:228px;
}
#sidebar.affix {
position: fixed;
top:70px;
width:228px;
}
}
#sidebar li.active {
font-weight: bold;
border:0 #CC0000 solid;
border-right-width:5px;
}
/* Nav: second level */
#sidebar .nav {
display: none;
}
#sidebar > li.active .nav {
display: block;
}
#sidebar .nav {
margin-bottom: 8px;
}
#sidebar .nav > li > a {
padding-top: 3px;
padding-bottom: 3px;
padding-left: 30px;
font-size: 90%;
}
我还包含了 JSFiddle 来展示我所看到的:http://jsfiddle.net/HsZ9q/8/
请注意,在 JSFiddle 中,由于响应能力,您必须将 window 扩展到尽可能大,直到您看到侧边栏。
我认为您的 css 在 <li>
元素处于 :active 时向其添加边框,您应该对 <a>
元素添加边框。同样在子菜单上,每个元素都必须位于 <li>
希望对您有所帮助
#sidebar li.active > a{
font-weight: bold;
border:0 #CC0000 solid;
border-right-width:5px;
}
<!--left-->
<div class="col-md-3" id="leftCol">
<ul class="nav nav-stacked" id="sidebar">
<li class="active">
<a>User Guide</a>
<ul class="nav">
<li>
<a href="#intro">Introduction</a>
</li>
</ul>
</li>
<li>
<a href="#search">Searching</a>
<ul class="nav">
<li>
<a href="#searchresults">Search Results</a>
</li>
<li>
<a href="#understandingsearch">Understanding Search Results</a>
</li>
</ul>
</li>
<li>
<a href="#profile">User Profile</a>
<ul class="nav">
<li>
<a href="#viewprofile">Viewing a Profile</a>
</li>
</ul>
</li>
<li>
<a href="#eventgraph">Event Graph</a>
<ul class="nav">
<li>
<a href="#graphdisplay">Graph Display</a>
</li>
<li>
<a href="#graphinteraction">Graph Interaction</a>
</li>
</ul>
</li>
<li>
<a href="#infopanel">Information Panel</a>
<ul class="nav">
<li>
<a href="#paneldisplay">Panel Display</a>
</li>
</ul>
</li>
</ul>
</div><!--/left-->
使用 this as a my starting template. I am attempting to integrate the bootstrap way of having expanding subcategories as seen on the sidebar of the getting started page of getbootstrap.
但是,我在滚动页面时遇到问题,如果我到达类别或其子类别,它会在边栏中突出显示该类别的所有部分(而不仅仅是子类别)。
这是我的侧边栏的片段 HTML:
<div class="col-md-3" id="leftCol">
<ul class="nav nav-stacked" id="sidebar">
<li class="active">
<a>User Guide</a>
<ul class="nav">
<li>
<a href="#intro">Introduction</a>
</li>
</ul>
</li>
<li>
<a href="#search">Searching</a>
<ul class="nav">
<li>
<a href="#searchresults">Search Results</a>
<a href="#understandingsearch">Understanding Search Results</a>
</li>
</ul>
</li>
<li>
<a href="#profile">User Profile</a>
<ul class="nav">
<li>
<a href="#viewprofile">Viewing a Profile</a>
</li>
</ul>
</li>
<li>
<a href="#eventgraph">Event Graph</a>
<ul class="nav">
<li>
<a href="#graphdisplay">Graph Display</a>
<a href="#graphinteraction">Graph Interaction</a>
</li>
</ul>
</li>
<li>
<a href="#infopanel">Information Panel</a>
<ul class="nav">
<li>
<a href="#paneldisplay">Panel Display</a>
</li>
</ul>
</li>
</ul>
</div>
和 CSS:
body {
padding-top:50px;
}
#masthead {
min-height:250px;
}
#masthead h1 {
font-size: 30px;
line-height: 1;
padding-top:20px;
}
#masthead .well {
margin-top:8%;
}
@media screen and (min-width: 768px) {
#masthead h1 {
font-size: 50px;
}
}
.navbar-bright {
background-color:#111155;
color:#fff;
}
.affix-top,.affix{
position: static;
}
@media (min-width: 979px) {
#sidebar.affix-top {
position: static;
margin-top:30px;
width:228px;
}
#sidebar.affix {
position: fixed;
top:70px;
width:228px;
}
}
#sidebar li.active {
font-weight: bold;
border:0 #CC0000 solid;
border-right-width:5px;
}
/* Nav: second level */
#sidebar .nav {
display: none;
}
#sidebar > li.active .nav {
display: block;
}
#sidebar .nav {
margin-bottom: 8px;
}
#sidebar .nav > li > a {
padding-top: 3px;
padding-bottom: 3px;
padding-left: 30px;
font-size: 90%;
}
我还包含了 JSFiddle 来展示我所看到的:http://jsfiddle.net/HsZ9q/8/
请注意,在 JSFiddle 中,由于响应能力,您必须将 window 扩展到尽可能大,直到您看到侧边栏。
我认为您的 css 在 <li>
元素处于 :active 时向其添加边框,您应该对 <a>
元素添加边框。同样在子菜单上,每个元素都必须位于 <li>
希望对您有所帮助
#sidebar li.active > a{
font-weight: bold;
border:0 #CC0000 solid;
border-right-width:5px;
}
<!--left-->
<div class="col-md-3" id="leftCol">
<ul class="nav nav-stacked" id="sidebar">
<li class="active">
<a>User Guide</a>
<ul class="nav">
<li>
<a href="#intro">Introduction</a>
</li>
</ul>
</li>
<li>
<a href="#search">Searching</a>
<ul class="nav">
<li>
<a href="#searchresults">Search Results</a>
</li>
<li>
<a href="#understandingsearch">Understanding Search Results</a>
</li>
</ul>
</li>
<li>
<a href="#profile">User Profile</a>
<ul class="nav">
<li>
<a href="#viewprofile">Viewing a Profile</a>
</li>
</ul>
</li>
<li>
<a href="#eventgraph">Event Graph</a>
<ul class="nav">
<li>
<a href="#graphdisplay">Graph Display</a>
</li>
<li>
<a href="#graphinteraction">Graph Interaction</a>
</li>
</ul>
</li>
<li>
<a href="#infopanel">Information Panel</a>
<ul class="nav">
<li>
<a href="#paneldisplay">Panel Display</a>
</li>
</ul>
</li>
</ul>
</div><!--/left-->