Bootstrap - Navbar Collapse菜单未显示

时间:2016-10-28 02:15:40

标签: css ruby-on-rails twitter-bootstrap ruby-on-rails-4 twitter-bootstrap-3

我的导航栏无法正确折叠。当窗口变小时,导航栏完全消失,并且不会显示替换手风琴菜单。想法?

<section id='mainnavbar'>
    <div class="navbar">

        <!-- Header -->
        <div class="navbar-header">
            <button type="button" class="navbar-toggle collapsed"  data-toggle="collapse" data-target="#mainnavbar-link">
                <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=<%= root_path %>  >
                <!-- <%= t('company_name') %> -->
                        <%= render_logo %>
            </a>
        </div>
        <!-- Navbar Links -->
        <div id='mainnavbar-link' class="pull-right collapse navbar-collapse">      
                    <ul class="nav navbar-nav">
                        <% Page.roots.menu.each do |menu_item| %>
                                <%= render partial: 'shared/nav/nav_pages_item', locals: {:menu_item => menu_item} %>
                        <%end%>
                    </ul>
                </li>
            </ul>
        </div>
    </div>
</section>

4 个答案:

答案 0 :(得分:1)

我假设您的意思是汉堡包菜单按钮。它会显示,但您无法看到它,因为它与背景颜色相同。

如果要使用默认的bootstrap导航栏,则需要更改第一个div以包含一个额外的类:

<div class="navbar navbar-default">

jsfiddle:https://jsfiddle.net/2Lxkpzwc/3/

答案 1 :(得分:0)

您的代码似乎很好。我目前正在开发一个像你一样拥有导航栏的网站,在我看来,它与我的完全一样。为了以防万一,您的页面上是否有jquery脚本?

<script src="https://ajax.googleapis.com/ajax/libs/jquery/1.12.4/jquery.min.js"></script>

答案 2 :(得分:0)

确保包含所需的所有内容。如果你进入检查元素并将鼠标悬停在z-index:1000position:absolute之上,那么只需使用sectiondiv即可解决这个问题。应该告诉你它在屏幕上的位置

答案 3 :(得分:0)

添加自定义类

 <div class="navbar navbar-custom">

使汉堡包菜单可见

CSS

$bgDefault      : none;
$bgHighlight    : black;
$colDefault     : grey;
$colHighlight   : blue;
$dropDown       : false;



.navbar-custom {
  background-color: $bgDefault;
  border-color: $bgHighlight;
  .navbar-brand {
    color: $colDefault;
    &:hover, &:focus {
      color: $colHighlight; }}
  .navbar-text {
    color: $colDefault; }
  .navbar-nav {
    > li {
      > a {
        color: $colDefault;
        &:hover,  &:focus {
          color: $colHighlight; }}
      @if $dropDown {
        > .dropdown-menu {
          background-color: $bgDefault;
          > li {
            > a {
              color: $colDefault;
              &:hover,  &:focus {
                color: $colHighlight;
                background-color: $bgHighlight; }}
            > .divider {
              background-color: $bgHighlight;}}}}}
    @if $dropDown {
      .open .dropdown-menu > .active {
        > a, > a:hover, > a:focus {
          color: $colHighlight;
          background-color: $bgHighlight; }}}
    > .active {
      > a, > a:hover, > a:focus {
        color: $colHighlight;
        background-color: $bgHighlight; }}
    > .open {
      > a, > a:hover, > a:focus {
        color: $colHighlight;
        background-color: $bgHighlight; }}}
  .navbar-toggle {
    border-color: $bgHighlight;
    &:hover, &:focus {
      background-color: $bgHighlight; }
    .icon-bar {
      background-color: $colDefault; }}
  .navbar-collapse,
  .navbar-form {
    border-color: $colDefault; }
  .navbar-link {
    color: $colDefault;
    &:hover {
      color: $colHighlight; }}}
@media (max-width: 767px) {
  .navbar-custom .navbar-nav .open .dropdown-menu {
    > li > a {
      color: $colDefault;
      &:hover, &:focus {
        color: $colHighlight; }}
    > .active {
      > a, > a:hover, > a:focus {
        color: $colHighlight;
        background-color: $bgHighlight; }}}
}