【问题标题】:Collapsed Navbar - Rails 4 CSS align right折叠的导航栏 - Rails 4 CSS 右对齐
【发布时间】:2015-09-16 14:16:25
【问题描述】:

我有一个自定义导航栏,我通过为每个链接使用单独的 div 来分隔链接。当宽度为

HTML

<body>
  <nav class="navbar">
    <div class="container-fluid">
      <div class="navbar-header">
        <button type="button" class="navbar-toggle" data-toggle="collapse" data-target="#collapse-menu">
          <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("Brand Name", root_path, { :class => "navbar-brand logo" }) %>
      </div>
      <div class="collapse navbar-collapse" id="collapse-menu">
        <ul class="nav navbar-nav middle-left">
          <li><%= link_to("About", about_path, { :class => "nav-link-custom" }) %></li>
        </ul>
        <ul class="nav navbar-nav middle-right">
          <li><%= link_to("Help", help_path, { :class => "nav-link-custom" }) %></li>
        </ul>
        <ul class="nav navbar-nav navbar-right">
          <li><a class="nav-link-custom" href="#">Sign In</a></li>
        </ul>
      </div>
    </div>
  </nav>

<%= yield %>

</body>

CSS

/* Navbar */

.logo:hover {
  background: none;
}

.nav > li > a:hover {
  background: none;
}

.middle-left {
  margin-left: 25%;
}

.middle-right {
  margin-left: 10%;
}

.navbar-toggle {
  background: white;
  border: thin solid gray;
}


.icon-bar {
  background: gray;
}

未折叠

^ 我截取了这张截图,因为我无法让小提琴工作。

已折叠

^ 我截取了这张截图,因为我无法让小提琴工作。

【问题讨论】:

    标签: html css ruby-on-rails twitter-bootstrap


    【解决方案1】:

    只需使用媒体查询,您的导航将生成默认的移动导航。

    /* Navbar */
    
    .navbar .logo:hover {
      background: none;
    }
    .navbar .nav > li > a:hover {
      background: none;
    }
    .navbar .navbar-toggle {
      background: white;
      border: thin solid gray;
    }
    .navbar .icon-bar {
      background: gray;
    }
    @media (min-width: 768px) {
      .navbar .middle-left {
        margin-left: 25%;
      }
      .navbar .middle-right {
        margin-left: 10%;
      }
    }
    <script src="https://ajax.googleapis.com/ajax/libs/jquery/1.11.1/jquery.min.js"></script>
    <script src="https://maxcdn.bootstrapcdn.com/bootstrap/3.3.5/js/bootstrap.min.js"></script>
    <link href="https://maxcdn.bootstrapcdn.com/bootstrap/3.3.5/css/bootstrap.min.css" rel="stylesheet" />
    <nav class="navbar">
      <div class="container-fluid">
        <div class="navbar-header">
          <button type="button" class="navbar-toggle" data-toggle="collapse" data-target="#collapse-menu"> <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="#">Brand</a>
    
        </div>
        <div class="collapse navbar-collapse" id="collapse-menu">
          <ul class="nav navbar-nav middle-left">
            <li><a href="#">Link</a>
    
            </li>
          </ul>
          <ul class="nav navbar-nav middle-right">
            <li><a href="#">Link</a>
    
            </li>
          </ul>
          <ul class="nav navbar-nav navbar-right">
            <li><a class="nav-link-custom" href="#">Sign In</a>
    
            </li>
          </ul>
        </div>
      </div>
    </nav>

    【讨论】:

    • 谢谢!效果很好,我仍在使用媒体查询
    • 将 Ruby on Rails 代码修改为 HTML 需要很大的耐心。为此+1:D
    • 没问题,不客气,感谢@manoj-kumar,只有几行! :>
    【解决方案2】:

    将margin CSS 包装在媒体查询中,这样它只会在扩展版本中影响文本。

    @media (min-width: 768px) {
      .middle-left {
        margin-left: 25%;
      }
    
      .middle-right {
        margin-left: 10%;
      }
    }
    

    【讨论】:

      猜你喜欢
      • 2018-05-11
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2019-01-21
      • 2017-05-14
      • 1970-01-01
      • 1970-01-01
      • 2017-05-27
      相关资源
      最近更新 更多