Bootstrap崩溃最初显示/隐藏

时间:2017-07-19 20:30:41

标签: javascript angularjs twitter-bootstrap twitter-bootstrap-3 angular-cli

我正在使用Angular应用程序练习Bootstrap 3.

对于某些按钮,我希望他们在手机上打开网页时隐藏自己,并在笔记本电脑上打开网页时显示它们。

据我所知,班级navbar-collapse确实有助于完成工作,但它还包含其他格式样式,这些格式会改变我的按钮外观,我不喜欢这样。我知道使用!important覆盖可以工作但我不认为这是一种正确的方式。

另外,从Bootstrap说明我知道

  

collapse隐藏内容

     

collapse in显示内容

但是,它仍然只能设置2个原始状态中的一个。

因此,我的问题是:

  1. 我可以根据窗口宽度设置显示/隐藏折叠按钮吗?
  2. 我可以在@Media ..
  3. 中进行大量CSS更改
  4. 我要用ngClass吗?我可以使用Angular获得窗口宽度吗?
  5. 谢谢!

    我的简化代码:

    <div class="navbar-header">
       <button type="button" class="navbar-toggle collapsed" data-toggle="collapse" data-target=".moreOptions" aria-expanded="false">
                <span class="sr-only">Toggle navigation</span>
                <strong><u> Show Options </u></strong>
       </button>
    </div>
    <div>
       <button type="submit" class="btn btn-default collapse in moreOptions" (click)="doSomething()">
                 DoSomething
       </button>
    </div>
    

    *:我使用的是.moreOptions而不是#moreOptions,因为我在网页的不同部分有多个选项。

    我尝试继续使用navbar-collapse,同时将完整的.btn添加到我的css文件中以覆盖相关的样式。

    .btn {
        display: inline-block;
        padding: 6px 12px;
        margin-bottom: 0;
        font-size: 14px;
        font-weight: normal;
        line-height: 1.42857143;
        text-align: center;
        white-space: nowrap;
        vertical-align: middle;
        -ms-touch-action: manipulation;
        touch-action: manipulation;
        cursor: pointer;
        -webkit-user-select: none;
        -moz-user-select: none;
        -ms-user-select: none;
        user-select: none;
        background-image: none;
        border: 1px solid transparent !important;
        border-radius: 4px;
        border-color: #ccc !important;
        width: inherit !important;
    }
    

    这不起作用,因为崩溃时需要更改这些!important参数。

2 个答案:

答案 0 :(得分:2)

尝试使用bootstrap css&#39;课程,他们帮助解决这类问题。

您可以使用hidden-xsvisible-xs这样的课程来帮助您。

检查Bootstrap documentation about this matter

答案 1 :(得分:1)

实际上,我最后通过继续使用navbar-collapse来实现,同时我将.btn的一部分添加到我的css文件中以覆盖相关的样式。

.btn {
    padding: 6px 12px;
    margin-bottom: 0;
    font-size: 14px;
    font-weight: normal;
    vertical-align: middle;
    border: 1px solid transparent !important;
    border-radius: 4px;
    border-color: #ccc !important;
    width: 100%;
}

如果还有其他方法,请不要犹豫,将它们发布在这里。 谢谢!!