Php 在Yii2中覆盖引导CSS

Php 在Yii2中覆盖引导CSS,php,html,css,twitter-bootstrap,yii2,Php,Html,Css,Twitter Bootstrap,Yii2,我有一个NavBar,我想覆盖Yii放在这个小部件上的所有类。在搜索inn Google并阅读文档后,我发现以下代码: Yii::$container->set('yii\bootstrap\NavBar', [ 'containerOptions' => [ 'class' => '' ] ]); NavBar::begin([ 'containerOptions' => [ 'class' => 'no-

我有一个
NavBar
,我想覆盖Yii放在这个小部件上的所有类。在搜索inn Google并阅读文档后,我发现以下代码:

Yii::$container->set('yii\bootstrap\NavBar', [
    'containerOptions' => [
        'class' => ''
    ]
]);

NavBar::begin([
    'containerOptions' => [
        'class' => 'no-horizontal-padding navbar-content'
    ]
]);
应该覆盖(实际上是删除)my
NavBar
容器中的所有类,但事实并非如此。我一直看到我的2个类和默认的
NavBar

如何删除这些类并只保留我的类

请避免使用任何黑客解决方案,如在客户端使用JS删除类。我正在寻找一种合适的方法

编辑:

我正在按要求添加生成的HTML:

<nav id="w0" class="navbar-inverse navbar" role="navigation">
    <div class="container-fluid no-horizontal-padding">
        <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>
        </div>
        <div id="w0-collapse" class="no-horizontal-padding navbar-content collapse navbar-collapse">
        </div>
    </div>
</nav>

切换导航

如果要使用小部件参数从框中移除
折叠
导航栏折叠
,则不能

正如您在的代码中所看到的,这些类是硬编码的

您的选择:

  • 修改Navbar.php文件并删除此类(不推荐)
  • 直接用HTML编写导航栏(不理想,但这是一种有效的解决方法)
  • 为Yii2创建您自己的自定义Navbar组件(推荐使用,因为您可以复制Navbar.php文件,删除这些类并更改名称空间)

如果要使用小部件参数从框中移除
折叠
导航栏折叠
,请尝试以下操作:

添加到您的导航栏

'collapseOptions' => [
    'class' => [
        'collapse' => '',
        'widget' => '',
    ]
]
我会一直这样

导航栏:开始([ 'brandLabel'=>Yii::$app->name, 'brandUrl'=>Yii::$app->homeUrl, “折叠选项”=>[ “类”=>[ '新建'=>'导航栏导航滚动', “崩溃”=>“, '小部件'=>'', ], ], “选项”=>[ “类”=>“导航栏导航栏扩展sm导航栏黑暗背景主固定顶部”, ], ]);

它适合我。

你能用上面的代码添加小部件生成的html吗?@deacs当然,给我一点时间谢谢!这是关于这一行的:
对吗?例如,您希望删除/覆盖哪些类?@deacs是的,这是正确的。我想删除
collapse导航栏collapse
类。