首页
学习
活动
专区
工具
TVP
发布
社区首页 >问答首页 >Yii2从NavBar中删除div标签

Yii2从NavBar中删除div标签
EN

Stack Overflow用户
提问于 2018-06-02 08:42:34
回答 1查看 1.2K关注 0票数 1

我试图建立基于admin LTE的管理面板,它使用bootstrap 4.0。我在我的main.php yii2布局中使用NavBar,如下所示:

代码语言:javascript
复制
 <?php
    NavBar::begin([
        'brandLabel' => Yii::$app->name,
        'brandUrl' => Yii::$app->homeUrl,
        'options' => [
            'class' => 'main-header navbar navbar-expand bg-white navbar-light border-bottom',
        ],
    ]);
    echo Nav::widget([
        'options' => ['class' => 'navbar-nav'],
        'items' => [
            ['label' => '', 'url' => ['/site/index'],'options'=>['class'=>'nav-item'], 'template' => '<a href="#" class="nav-link" data-widget="pushmenu" target="_blank"><i class="fa fa-bars"></i></a>'],
            ['label' => 'About', 'url' => ['/site/about'],'options'=>['class'=>'nav-item d-none d-sm-inline-block']],
            ['label' => 'Contact', 'url' => ['/site/contact'],'options'=>['class'=>'nav-item d-none d-sm-inline-block']],
        ],
    ]);
    NavBar::end();
    ?>

预期输出为

代码语言:javascript
复制
<nav class="main-header navbar navbar-expand bg-white navbar-light border-bottom">
    <!-- Left navbar links -->
    <ul class="navbar-nav">
      <li class="nav-item">
        <a class="nav-link" data-widget="pushmenu" href="#"><i class="fa fa-bars"></i></a>
      </li>
      <li class="nav-item d-none d-sm-inline-block">
        <a href="index3.html" class="nav-link">Home</a>
      </li>
      <li class="nav-item d-none d-sm-inline-block">
        <a href="#" class="nav-link">Contact</a>
      </li>
    </ul>
</nav>

但我最终在html中得到了类似这样的东西:

代码语言:javascript
复制
<nav id="w0" class="main-header navbar navbar-expand bg-white navbar-light border-bottom">
   <div class="container">
      <div class="navbar-header"><button type="button" class="navbar-toggle" data-toggle="collapse" data-target="#w0-collapse"><span class="sr-only">Toggle navigation</span>
         <span class="icon-bar"></span>
         <span class="icon-bar"></span>
         <span class="icon-bar"></span></button><a class="navbar-brand" href="/index.php">My Application</a>
      </div>
      <div id="w0-collapse" class="collapse navbar-collapse">
         <ul id="w1" class="navbar-nav nav">
            <li class="nav-item active"><a class="nav-link" href="/index.php?r=site%2Findex" data-widget="pushmenu">Home</a></li>
            <li class="nav-item d-none d-sm-inline-block"><a href="/index.php?r=site%2Fabout">About</a></li>
            <li class="nav-item d-none d-sm-inline-block"><a href="/index.php?r=site%2Fcontact">Contact</a></li>
         </ul>
      </div>
   </div>
</nav>

如何用.navbar-header去掉这个<div class="container和div

EN

回答 1

Stack Overflow用户

发布于 2018-06-02 08:49:15

您需要使用NavBar$renderInnerContainer请参见

将代码更改为

代码语言:javascript
复制
 <?php
    NavBar::begin([
        'brandLabel' => Yii::$app->name,
        'brandUrl' => Yii::$app->homeUrl,
        'renderInnerContainer'=>false,
        'options' => [
            'class' => 'main-header navbar navbar-expand bg-white navbar-light border-bottom',
        ],
    ]);
    echo Nav::widget([
        'options' => ['class' => 'navbar-nav'],
        'items' => [
            ['label' => '', 'url' => ['/site/index'],'options'=>['class'=>'nav-item'], 'template' => '<a href="#" class="nav-link" data-widget="pushmenu" target="_blank"><i class="fa fa-bars"></i></a>'],
            ['label' => 'About', 'url' => ['/site/about'],'options'=>['class'=>'nav-item d-none d-sm-inline-block']],
            ['label' => 'Contact', 'url' => ['/site/contact'],'options'=>['class'=>'nav-item d-none d-sm-inline-block']],
        ],
    ]);
    NavBar::end();
    ?>

您不能关闭navbar-header容器,因为它是硬编码在yii\bootstrap\NavBar123init()函数中的。如果您想要删除NavBar,您可以扩展和覆盖它。或者,如果调整宽度有问题,也可以使用css类覆盖所有属性

票数 3
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/50652529

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档