0

我不明白为什么我的响应式 Twitter 引导导航会发生这种情况。这是一个屏幕截图:

https://www.evernote.com/shard/s3/sh/79b436f8-822c-4fdc-ad36-a1d706686d05/3a735fc948474e109c08b773f01f0cf8

它添加了那些指向上方的奇怪箭头。插入符号是有意的,这些都可以。如果我dropdown<li class="dropdown">. 但这样做会破坏导航。否则导航工作得很好。这是我的标记:

<div class="navbar navbar-fixed-top">
  <div class="navbar-inner">
    <div class="container">
      <a class="btn btn-navbar" data-toggle="collapse" data-target=".nav-collapse">
        <span class="icon-bar"></span>
        <span class="icon-bar"></span>
        <span class="icon-bar"></span>
      </a>
      <%= link_to "Tip Share", root_path, :class => "brand" %>

      <div class="nav-collapse">

                <ul class="nav pull-left">
                    <% if current_user %>
                        <li class="dropdown">
                          <a href="#"class="dropdown-toggle" data-toggle="dropdown">
                            Sales
                                <span class="caret"></span>
                          </a>
                          <ul class="dropdown-menu">
                                <li><%= link_to "New Sales", new_sale_path  %></li>
                                <li><%= link_to "Manage Sales", sales_path  %></li>
                          </ul>
                        </li>

                        <li class="dropdown">
                          <a href="#" class="dropdown-toggle" data-toggle="dropdown">
                            Shifts
                                <span class="caret"></span>
                          </a>
                          <ul class="dropdown-menu">
                                <li><%= link_to "New Shift", new_shift_path %></li>
                                <li><%= link_to "Manage Shifts", shifts_path %></li>
                          </ul>
                        </li>

                        <li class="dropdown">
                          <a href="#" class="dropdown-toggle" data-toggle="dropdown">
                            Employees
                                <span class="caret"></span>
                          </a>
                          <ul class="dropdown-menu">
                                <li><%= link_to "New Employee", new_employee_path %></li>
                                <li><%= link_to "Manage Employees", employees_path %></li>
                          </ul>
                        </li>

                        <li class="dropdown">
                          <a href="#" class="dropdown-toggle" data-toggle="dropdown">
                            Positions
                                <span class="caret"></span>
                          </a>
                          <ul class="dropdown-menu">
                                <li><%= link_to "New Position", new_position_path %></li>
                                <li><%= link_to "Manage Positions", positions_path %></li>
                          </ul>
                        </li>
                    <% end %>
                </ul>

                <ul class="nav pull-right">
                    <% if current_user %>
                        <li>
                        <%= link_to root_path do %>
                        <%= current_user.email %>
                    <% end %>
                    </li>
                    <li><%= link_to 'Log out', logout_path %></li>
                    <% else %>
                    <li><%= link_to 'Sign up', signup_path %></li>
                    <li><%= link_to 'Log in', login_path  %></li>
                  <% end %>
                </ul>
      </div>
    </div>
  </div>
</div>

这个标记似乎没有什么问题,但我不断得到这些小箭头。我宁愿弄清楚我在引导程序中做错了什么,而不是尝试用 css 覆盖它

我如何摆脱这些箭头?

仅供参考,我正在使用 bootstrap-sass gem 来导入 twitter bootstrap。

4

2 回答 2

2

添加 .navbar-inner 使其具有足够的特异性来工作:

/* Landscape phone to portrait tablet */
@media (max-width: 767px) { 
    .navbar .navbar-inner .nav > li > .dropdown-menu:after {
      display: none;
    }
}/* end media query */

但是,我觉得很奇怪,默认情况下包含在 Boostrap 中的规则不起作用:

.navbar .nav > li > .dropdown-menu:after
于 2012-10-11T15:37:24.560 回答
0

看起来真正的问题是我的媒体查询特定样式不起作用。这实际上是内置在 boostrap 中的:

/* line 112, ../../../../../.rvm/gems/ruby-1.9.3-p194@tips/gems/bootstrap-sass-2.1.0.0/vendor/assets/stylesheets/bootstrap/_responsive-navbar.scss */
  .nav-collapse .dropdown-menu:before,
  .nav-collapse .dropdown-menu:after {
    display: none;
  }

但是即使我的浏览器远低于 979 像素,这种样式也无法被识别:

https://www.evernote.com/shard/s3/sh/229f1ad6-99eb-4659-8e27-28950e9eb1db/36b7738b5c45a8d439dd39ef39fb5c77

因此,引导媒体查询似乎是一个没有意义的问题。我想知道这是否与 rails 中的资产管道有关。


更新:

添加此修复它:

/* Landscape phone to portrait tablet */
@media (max-width: 767px) { 
    .navbar .nav > li > .dropdown-menu:after {
      display: none !important;
    }

}/* end media query */

但这!important真的很糟糕。试图找出我做错了什么会导致我的css中出现这个继承问题。

于 2012-10-11T15:07:16.607 回答