html - Bootstrap 悬停和切换折叠菜单在 Rails 应用程序中不起作用

标签 html css ruby-on-rails bootstrap-4

我正在处理 this guidethis section但出于某种原因,当我在移动设备上查看时,点击移动汉堡包菜单不会显示菜单,而且在桌面上时,悬停在 dropdown-toggle 上也不起作用。

非常感谢任何帮助。

这是_navigation.html.erb

<nav class="navbar navbar-default navbar-fixed-top">
  <div class="container">
    <div class="row">

      <!-- Elements visible all the time -->
      <div class="col-sm-7">
        <%= render 'layouts/navigation/header' %>
      </div><!-- col-sm-7 -->

      <!-- Elements collapses on smaller devices -->
      <div class="col-sm-5">
        <%= render 'layouts/navigation/collapsible_elements' %>
      </div><!-- col-sm-5 -->

    </div><!-- row -->
  </div><!-- container -->
</nav>

这是_header.html.erb

<!-- Brand and toggle get grouped for better mobile display -->
<div class="navbar-header">
  <button type="button" class="navbar-toggle collapsed" data-toggle="collapse" data-target="#navbar-collapsible-content" aria-expanded="false">
    <span class="sr-only">Toggle navigation</span>
    <span class="icon-bar"></span>
    <span class="icon-bar"></span>
    <span class="icon-bar"></span>
  </button>
  <%= link_to 'User Logins', root_path, class: 'navbar-brand' %>
</div>

这是_collapsable-elements.html.erb

<!-- Collect the nav links, forms, and other content for toggling -->
<div class="collapse navbar-collapse navbar-right" id="navbar-collapsible-content">
  <ul class="nav navbar-nav ">
    <% if user_signed_in? %>
      <li class="dropdown pc-menu">
        <a id="user-settings" class="dropdown-toggle" data-toggle="dropdown" href="#">
          <span id="user-name"><%= current_user.name %></span>
          <span class="caret"></span>
        </a>

        <ul class="dropdown-menu" role="menu">
          <li><%= link_to 'Edit Profile', edit_user_registration_path %></li>
          <li><%= link_to 'Log out', destroy_user_session_path, method: :delete %></li>
        </ul>
      </li>

      <li class="mobile-menu">
        <%= link_to 'Edit Profile', edit_user_registration_path %>
      </li>
      <li class="mobile-menu">
        <%= link_to 'Log out', destroy_user_session_path, method: :delete %>
      </li>

    <% else # user not signed it %>
      <li ><%= link_to 'Login', login_path %></li>
      <li ><%= link_to 'Signup', signup_path %></li>
    <% end # if user is signed it %>
  </ul>
</div><!-- navbar-collapse -->

我想我已经包含了解决这个问题所需的一切。如果我遗漏了什么,请告诉我!

谢谢 :)

编辑:

我忘记包含 navigation.scss

body {
 margin-top: 50px;
}

nav {
  .navbar-header {
    width: 100%;
    button, .navbar-brand {
      transition: opacity 0.15s;
    }
    button {
      margin-right: 0;
    }
    button:hover, .navbar-brand:hover {
      opacity: 0.8;
    }
  }
  .col-sm-5, .col-sm-7 {
    padding: 0;
  }
}

.navbar-default, .navbar-toggle:focus, .collapsed, button.navbar-toggle {
  background: $navbarColor !important;
  border: none;
  a {
    color: white !important;
  }
}

.pc-menu {
  margin-right: 10px;
}

.mobile-menu {
  i {
    color: white;
  }
  ul {
    padding: 0px;
  }
  a {
    display: block;
    padding: 10px 0px 10px 25px !important;
  }
  a:hover {
    background: white !important;
    color: black !important;
    i {
      color: black;
    }
  }
}

.icon-bar {
  background-color: white !important;
}

.active a {
  background: $navbarColor !important;
  border-bottom: solid 5px white;
}

.dropdown-toggle, .dropdown-menu {
  background: $navbarColor !important;
  border: none;
}

.dropdown-menu a:hover {
  color: black !important;
  background: white !important;
}

最佳答案

在这个文件中 app/assets/javascripts/application.js

尝试去掉这一行

//= require turbolinks

并从 javascript_include_tag 中删除 "data-turbolinks-track"=> true。

关于html - Bootstrap 悬停和切换折叠菜单在 Rails 应用程序中不起作用,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/52799812/

相关文章:

ruby-on-rails - 如何在任何异常情况下使用 RSpec 的 should_raise?

Javascript/AngularJS 数组

css - 在 &lt;input&gt; 字段之间放置空格

css - 下拉菜单大小不正确

javascript - 在 Traccar 应用程序中更改或添加元素

ruby-on-rails - addressable/uri 在 ruby​​ 中按字母顺序给出参数

javascript - 根据第一个 <select> 下拉选项填充第二个 <select> 下拉列表

html - 如何使用 CSS 在我的网站上实现流畅的边距?

html - 为 html 电子邮件添加额外的 p 和 span 标签

ruby-on-rails - 使用 mixins 初始化类变量