jquery - 如何覆盖 Bootstrap 默认的 767px 以显示我的菜单?

标签 jquery css twitter-bootstrap

我正在使用 Bootstrap 3.3.7。默认情况下,直到屏幕宽度达到 767px 才会显示汉堡包菜单。我需要让类似的行为尽快发生。

出于我的目的,以下 css 将给我显示汉堡菜单的初始结果:

@media (max-width: 1197px) {    
.navbar-header {
    float: none;
    margin-bottom: -16px;
}

.container-fluid {
    padding-right : 0px;
}

.navbar-toggle {
    display: block;
}

.navbar-collapse {
    border-top: 1px solid transparent;
    box-shadow: inset 0 1px 0 rgba(255,255,255,0.1);
}

.navbar-brand {
    width:auto;
}

.navbar-collapse.collapse {
    display: none !important;
}

.navbar-nav {
    float: none !important;
    margin: -1px -15px !important;
    margin-bottom: -15px !important;
}

.navbar-nav > li {
    float: none;
}

.navbar-nav > li > a {
    padding-top: 10px;
    padding-bottom: 10px;
}
}

但我现在遇到的问题是,当我按下“汉堡包”按钮以显示菜单时。它会显示一瞬间然后消失。

当我以我希望看到菜单的方式切换汉堡包时,我的类 navbar-collapse 的 div 元素具有预期的折叠类和“in”附加但显示已设置为“无”而不是当我通过 chrome 调试时“阻止”。可以看到bootstrap.css已经设置了显示。 我已经尝试在 bootstrap 'shown.bs.collapse' 事件中设置显示样式,我可以在调试我的代码时看到,但 bootstrap.css 仍然覆盖它,即使我将 '!important' 附加到显示。我错过了进一步的事件吗?

最佳答案

你必须为此编写一个特定的媒体查询,从你的问题来看,低于 768px,导航栏会折叠,所以应用它高于 768px 和低于 1000px,就像这样:

    @media (min-width: 768px) and (max-width: 1000px) {
       .collapse {
           display: none !important;
       }
    }

这将隐藏导航栏折叠,直到默认出现 Bootstrap 单元。当 collapse 类翻转时,导航栏 collapse 内的内部 Assets 将自动隐藏,同样你必须根据需要的设计设置你的 css。

关于jquery - 如何覆盖 Bootstrap 默认的 767px 以显示我的菜单?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/51707753/

相关文章:

html - div不服从高度

forms - 使用流体网格系统在 Bootstrap 上对齐输入

css - 在悬停右侧 carousel-control 时显示 glyphicon carousel-control-right

html - 垂直居中字体很棒的图标旁边有一个更大的图标

jQuery 'trigger(' click')` 如果元素未显示则无法在 Opera 上运行

javascript - 无法滚动到动态元素

javascript - 滚动到 div 外部将滚动内容

html - 如何在 flex 容器中获取图像之间的垂直间隙

css - Rem 调整大小在 Safari 中不起作用

jquery - 如何选择每个div中的第一次出现?