Twitter bootstrap 3 Yii 2中的多级Boostrap菜单
我想我的菜单有两个以上的水平。看起来Yii 2最多只能渲染2个级别。例如:Twitter bootstrap 3 Yii 2中的多级Boostrap菜单,twitter-bootstrap-3,yii2,Twitter Bootstrap 3,Yii2,我想我的菜单有两个以上的水平。看起来Yii 2最多只能渲染2个级别。例如: NavBar::begin(); echo Nav::widget([ 'options' => ['class' => 'navbar-nav navbar-right'], 'items' => [ [ 'label' => 'Level 1', 'items' => [ [
NavBar::begin();
echo Nav::widget([
'options' => ['class' => 'navbar-nav navbar-right'],
'items' => [
[
'label' => 'Level 1',
'items' => [
['label' => 'Level 2 - 1', 'url' => '#'],
['label' => 'Level 2 - 2', 'url' => '#'],
[
'label' => 'Level 2 - 3',
'items' => [
['label' => 'Level 3 - 1', 'url' => '#'],
['label' => 'Level 3 - 2', 'url' => '#'],
],
],
]
],
],
]);
NavBar::end();
将不显示级别3-x菜单项。如何向菜单添加更多级别?这不是Yii 2限制,而是Boostrap 3限制 这里引用了mdo(Boostrap 3的主要贡献者之一)的话: 我们还没有看到任何人以有意义的方式使用子菜单和代码 让它们正常工作所必需的开销太大了。子菜单 只是现在在网络上没有太多的位置,尤其是 移动网络。它们将被3.0删除 它是从一个地方拿走的 但是,您可以找到一些替代方法来使用更多级别。例如,看看这个 此外,还将通过更多细节和示例讨论此问题。尝试使用
Nav
小部件。1)在/web/Css/site.Css中添加Css
.dropdown-submenu {
position: relative;
}
.dropdown-submenu>.dropdown-menu {
top: 0;
left: 100%;
margin-top: -6px;
margin-left: -1px;
-webkit-border-radius: 0 6px 6px 6px;
-moz-border-radius: 0 6px 6px;
border-radius: 0 6px 6px 6px;
min-width: 200px;
}
.dropdown-submenu:hover>.dropdown-menu {
display: block;
}
.dropdown-submenu>a:after {
display: block;
content: " ";
float: right;
width: 0;
height: 0;
border-color: transparent;
border-style: solid;
border-width: 5px 0 5px 5px;
border-left-color: #ccc;
margin-top: 5px;
margin-right: -10px;
}
.dropdown-submenu:hover>a:after {
border-left-color: #fff;
}
.dropdown-submenu.pull-left {
float: none;
}
.dropdown-submenu.pull-left>.dropdown-menu {
left: -100%;
margin-left: 10px;
-webkit-border-radius: 6px 0 6px 6px;
-moz-border-radius: 6px 0 6px 6px;
border-radius: 6px 0 6px 6px;
}
2) 添加子菜单和属性“itemsOptions”、“subnumoptions”、“items”:
...
[
'label' => 'Level 2 - 3',
'itemsOptions'=>['class'=>'dropdown-submenu'],
'submenuOptions'=>['class'=>'dropdown-menu'],
'items' => [
['label' => 'Level 3 - 1', 'url' => '#'],
['label' => 'Level 3 - 2', 'url' => '#'],
],
],
....
3) 好的