【发布时间】:2015-02-08 18:51:53
【问题描述】:
我正在将 twitter 引导程序用于 Rails 项目,但响应式导航栏无法正常工作。缩小屏幕尺寸后,导航栏显示菜单切换按钮,导航栏选项在其下方打开,然后在进一步缩小后最终隐藏导航栏选项。但是,在任何一种情况下,单击导航栏菜单切换按钮都不会执行任何操作。我已经检查以确保 jQuery 已加载(确实如此),并且我使用的是最新版本的 Bootstrap。这是我的代码:
.navbar.navbar-inverse.navbar-fixed-top{ role: 'navigation', style: 'background-color:#000066' }
.container
.navbar-header
%button.navbar-toggle.pull-right{ type: 'button', data: { toggle: "collapse", target: ".navbar-ex1-collapse" } }
%span.sr-only Toggle Navigation
%span.icon-bar
%span.icon-bar
%span.icon-bar
%a.navbar-brand{ href: root_path }
%strong
L
%i.fa.fa-cog{ style: 'font-size:80%;margin:0 -2px;' }
gSMART
.collapse.navbar-collapse.navbar-ex1-collapse{ role: 'navigation' }
%ul.nav.navbar-nav.navbar-right
%li
%a{ href: root_path, class: set_css_if( path: root_path ) }
HOME
%li
%a{ href: about_path, class: set_css_if( path: about_path ) }
ABOUT
%li
%a{ href: faq_path, class: set_css_if( path: faq_path ) }
FAQs
%li
%a{ href: resources_path, class: set_css_if( path: resources_path ) }
MANUALS and RESOURCES
-if current_user
%li
%a{ href: logout_path, class: set_css_if( path: logout_path ) }
LOGOUT
-else
%li
%a{ href: login_path, class: set_css_if( path: login_path ) }
LOGIN
为了进一步澄清,这是我的布局页面,application.js 和 application.css。
布局:
%html{ lang: :en }
%head
%title
CogSMART
%meta{ name: "viewport", content: "width=device-width, initial-scale=1.0" }
= stylesheet_link_tag 'http://fonts.googleapis.com/css?family=Lato:300,400,700,900,300italic,400italic,700italic,900italic'
= stylesheet_link_tag "//netdna.bootstrapcdn.com/font-awesome/4.1.0/css/font-awesome.min.css"
= stylesheet_link_tag "application", media: "all", "data-turbolinks-track" => true
= javascript_include_tag "application", "data-turbolinks-track" => true
= csrf_meta_tags
%body.pull_top
= render 'partials/navbar'
#coming_soon
.head
.container
.span12.text
%h4
CogSMART stands for:
%h4
Cognitive Symptom Management and Rehabilitation Therapy
app.js
//
//= require jquery
//= require jquery_ujs
//= require turbolinks
//= require_tree ./clean_canvas
app.css
/*
*= require_tree ./clean_canvas_v2
*= require_self
*/
【问题讨论】:
-
您是否检查了脚本的顺序,例如 1.jquery.js 2.bootstrap.js,然后是您的自定义脚本。
-
我检查了脚本顺序 - 这是我的 app.js: //= 需要 jquery //= 需要 jquery_ujs //= 需要 turbolinks //= 需要_tree ./clean_canvas
-
当然,我会处理那个@Nicolai。在这里你可以自己看项目,我刚刚将它部署到heroku:damp-depths-3602.herokuapp.com
-
这几乎肯定是您的自定义样式的问题。不幸的是,我无法调试图片,并且在 heroku 中连接了 css 文件,因此无法查看导致问题的覆盖规则。如果您真的想解决这个问题,请创建一个 jsfiddle.net 并将您的自定义 css 文件添加到 css 区域。我可以看到像 .navbar-collapse.collapse display: block !important; 这样的规则高度:自动!重要;溢出:可见!重要; -- 其中任何一个都可能是问题的一部分,但我怀疑问题会更深。
-
在 3.3.1 中,css 和 js 文件中的模态都有一些变化。如果你有一个较旧的 css 文件和一个较新的 js 文件,可能会出现问题。
标签: jquery css twitter-bootstrap navbar