【问题标题】:bootstrap nav-bar-right floating leftbootstrap nav-bar-right 向左浮动
【发布时间】:2017-06-08 12:44:51
【问题描述】:

我试图为我的问题寻找答案,但我似乎找不到答案。如果有任何机会确实有解决方案,那么,对不起,我的错!

我似乎遇到了 Bootstrap 的默认导航栏的问题:下拉菜单:.navbar-right 由于某种原因向左浮动。您可以查看here。 我正在使用 rails 5,我的导航代码目前看起来像:

    <nav class="navbar navbar-default">
  <div class="container-fluid">
    <!-- 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="#bs-example-navbar-collapse-1" 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 "Prodemex", root_path, class: "navbar-brand", id: "logo" %>
    </div>

    <!-- Collect the nav links, forms, and other content for toggling -->
    <div class="collapse navbar-collapse" id="bs-example-navbar-collapse-1">
      <ul class="nav navbar-nav">
        <li><%= link_to "Articulos", articles_path %></li>
        <li><%= link_to "Usuarios", users_path %></li>
        <% if logged_in? %>
          <li class="dropdown">
            <a href="#" class="dropdown-toggle" data-toggle="dropdown" role="button" aria-haspopup="true" aria-expanded="false">Actions <span class="caret"></span></a>
            <ul class="dropdown-menu">
              <li><%= link_to "Nuevo articulo", new_article_path %></li>
              <li role="separator" class="divider"></li>
              <li><a href="#">One more separated link</a></li>
            </ul>
          </li>
        </ul>
      <% end %>
      <form class="navbar-form navbar-left">
        <div class="form-group">
          <input type="text" class="form-control" placeholder="Search">
        </div>
        <button type="submit" class="btn btn-default">Submit</button>
      </form>
      <% if logged_in? %>
        <ul class="nav navbar-nav navbar-right">
            <li class="dropdown">
              <a href="#" class="dropdown-toggle" data-toggle="dropdown" role="button" aria-haspopup="true" aria-expanded="true">Mi cuenta<%= " - Admin " if current_user.admin? %><span class="caret"></span></a>
              <ul class="dropdown-menu">
                <li><%= link_to "Modificar mis datos", edit_user_path(current_user) %></li>
                <li><%= link_to "Ver mi perfil", user_path(current_user) %></li>
                <li><a href="#">Something else here</a></li>
                <li role="separator" class="divider"></li>
                <li><%= link_to 'Cerrar sesión', logout_path, method: :delete %></li>
              </ul>
            </li>
        </ul>
        <% else %>
        <ul class="navbar-right nav navbar-nav">
          <li class="dropdown">
            <a href="#" class="dropdown-toggle" data-toggle="dropdown" role="button" aria-haspopup="true" aria-expanded="true">Mi cuenta <span class="caret"></span></a>
            <ul class="dropdown-menu">
              <li><%= link_to 'Iniciar sesión', login_path %></li>
              <li><%= link_to 'Registrarse', signup_path %></li>
            </ul>
          </li>
        </ul>
        <% end %>
    </div><!-- /.navbar-collapse -->
  </div><!-- /.container-fluid -->
</nav>

您可以在github 上检索更多代码 我有一个包含所有内容的自定义 CSS,并且已经尝试删除与导航栏相关的所有部分,但它什么也没做......

$navbar-default-bg: #3498DB;

@import "bootstrap-sprockets";
@import "bootstrap";

.gen {
  padding: 0 2%;
}

.col-xs-8 {
  float: none;
}

a {
  text-decoration: none;
}

body {
  font-weight: 200;
}

#logo {
  float: left;
  font-size: 1.7em;
  color: #fff;
  text-transform: uppercase;
  font-weight: 200;
}

#logo:hover {
  text-decoration: none;
  color: #5e82a6;
}

.navbar {
  border-radius: 0;
  margin: 0;
}

.center {
  text-align: center;
}

#home {
  background: linear-gradient(rgba(0, 0, 0, 0.35), rgba(0, 0, 0, 0.35)), image-url('cover_page.jpg');
  background-size: cover;
  background-attachment: fixed;
  height: 100vh;
}

.jumbotron {
  padding: 15.5% 20%;
  background-color: transparent;

  }

.jumbotron h1,h3 {
  color: #fff;
  font-weight: 200;
  margin-bottom: 10px;
}

.btn-xlg {
  font-size: 1.2em;
  font-weight: 200;
  background-color: #3498DB;
  border: 1px solid #3498DB;
  margin: 0;
  display: inline-block;
  letter-spacing: 1px;
}

.btn-xlge {
  font-size: 1.2em;
  font-weight: 200;
  color: #000;
  background-color: none;
  border: 1px solid #000;
  margin-left: 10px;
  display: inline-block;
}

.btn-xlge:hover,
          active {
  background-color: #337ab7;
  color: #fff;
  border: 1px solid #337ab7;
}

.footer {
  background-color: #3498DB;
  color: #fff;
  letter-spacing: 1px;
  padding: 10px;
}

footer ul {
  list-style:none;
  margin-top: 10px;
}

.footer a {
  color: #fff;
}

.footer a:hover,
.footer a:active {
  color: #ccc;
  text-decoration: none;
}

.article-actions {
  border-top: 1px solid #eaeaea;
  padding-top: 15px;
  margin-top: 10px;
}

.descrition {
  margin-top: 0;
}

.article-title {
  font-size: 1.5em;
}

.article-title a {
  text-decoration: none;
}

.article-body {
  border-top: 1px solid #eaeaea;
  padding-top: 15px;
  padding-bottom: 15px;
}

.article-meta-details {
  margin-top: 5px;
  margin-bottom: 0;
  font-size: 1em;
}

.article-meta-details a {
  text-decoration:none;
}

.well-lg {
  padding-bottom: 10px;
}

.listing {
  list-style: none;
  padding-left: 0;
}

.insideuser {
  padding-left: 50px;
  float: left;
}

.author {
  font-weight: 400;
  color: #3498DB;
}

.authorpage {
  margin-top: 10px;
  padding: 10px 0;
}

.pop {
  margin-top: 15px;
  -webkit-box-shadow: 4px 1px 10px 0px rgba(50, 50, 50, 0.27);
  -moz-box-shadow:    4px 1px 10px 0px rgba(50, 50, 50, 0.27);
  box-shadow:         4px 1px 10px 0px rgba(50, 50, 50, 0.27);
}

奇怪的是,当我登录时,下拉菜单又回到了它应该在的右边...... 检查代码时,我几乎找到了一个修复,删除了这部分的左浮动:

@media (min-width: 768px)
custom.self-839…ss?body=1:5864
.navbar-nav {
    float: left;
    margin: 0;
}

但很明显,当我这样做时,它会与导航栏的其余部分混淆。 任何机构可以帮助我?提前致谢!!

【问题讨论】:

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


    【解决方案1】:

    这只是一种预感,但我认为值得一试...我想知道更改 if/else 语句的位置是否会有所帮助?

    <ul class="nav navbar-nav navbar-right">
      <li class="dropdown">
        <a href="#" class="dropdown-toggle" data-toggle="dropdown" role="button" aria-haspopup="true" aria-expanded="true">Mi cuenta<%= " - Admin " if current_user.admin? %><span class="caret"></span></a>
         <% if logged_in? %>
           <ul class="dropdown-menu">
             <li><%= link_to "Modificar mis datos", edit_user_path(current_user) %></li>
             <li><%= link_to "Ver mi perfil", user_path(current_user) %></li>
             <li><a href="#">Something else here</a></li>
             <li role="separator" class="divider"></li>
             <li><%= link_to 'Cerrar sesión', logout_path, method: :delete %></li>
           </ul>
         <% else %>
           <ul class="dropdown-menu">
             <li><%= link_to 'Iniciar sesión', login_path %></li>
             <li><%= link_to 'Registrarse', signup_path %></li>
           </ul>
         <% end %>
      </li>
    </ul>
    

    【讨论】:

    【解决方案2】:

    尝试使用引导网格系统,它会让您轻松定位菜单项:


    *引导列语法 --> class="col-[screen size]-[number of columns]"

    屏幕尺寸 ---> xs(特小)、sm(小)、md(中)、lg(大)

    列数 ---> 增加到 12


    *使用class="col-md-offset-[number of columns]" 将列向右移动。

    这些类将列的左边距增加了一组列数。

    例如,class="col-md-offset-4" 将一列移动到四列。


    *使用以下命令轻松更改内置网格列的顺序:

    class ="col-md-push-[number of columns]" 和 class ="col-md-pull-[number of columns]"


    Bootstrap Grid System

    This video is showing the basic concept - 这家伙有很多视频......


    已编辑:这就是我解决与其余按钮连接的下拉按钮问题的方法...

    <ul class="nav nav-pills col-lg-offset-11 col-md-offset-11 col-sm-offset-11">
     <li id="btnDrpDwn" role="presentation" class="dropdown"><a data-toggle="dropdown" href="#" role="button" aria-haspopup="true" aria-expanded="false" class="dropdown-toggle">menu<span class="caret"></span></a>
      <ul class="dropdown-menu">
        <li role="presentation"><a href="/profile">Item 1</a></li>
        <li role="presentation"><a href="#">Item 2</a></li>
        <li role="separator" class="divider"></li>
        <li role="presentation"><a href="/logout">Item 3</a></li>
      </ul>
     </li></ul>
    

    【讨论】:

    • 这是一个很好的建议,它确实可能会起作用,但是这意味着我将不得不重做所有代码......不是吗?我目前正在使用默认版本的导航栏,它几乎已经由引导程序加载。
    • 适当地......但它只是归结为添加一些类。我已经编辑了答案并复制了我的下拉菜单(也许会有所帮助...)
    【解决方案3】:

    首先!谢谢大家帮助! @Gal,你的回答实际上让我朝着正确的方向前进,我终于找到了我的错误所在! (是的,错误总是在键盘和椅子之间!哈哈哈哈!)

    好的,通过在我的导航中实现 Gal 的代码。我发现问题出在以下事实:有问题的下拉列表被认为包含在:

    <ul class="nav navbar-nav">
    

    那时我发现 UL 没有正确关闭!这部分是有问题的:

    <ul class="nav navbar-nav">
            <li><%= link_to "Articulos", articles_path %></li>
            <li><%= link_to "Usuarios", users_path %></li>
            <% if logged_in? %>
              <li class="dropdown">
                <a href="#" class="dropdown-toggle" data-toggle="dropdown" role="button" aria-haspopup="true" aria-expanded="false">Actions <span class="caret"></span></a>
                <ul class="dropdown-menu">
                  <li><%= link_to "Nuevo articulo", new_article_path %></li>
                  <li role="separator" class="divider"></li>
                  <li><a href="#">One more separated link</a></li>
                </ul>
              </li>
            </ul>
          <% end %>
    

    我只是将&lt;/ul&gt; 标记与&lt;% end %&gt; 换成这样:

    <ul class="nav navbar-nav">
            <li><%= link_to "Articulos", articles_path %></li>
            <li><%= link_to "Usuarios", users_path %></li>
            <% if logged_in? %>
              <li class="dropdown">
                <a href="#" class="dropdown-toggle" data-toggle="dropdown" role="button" aria-haspopup="true" aria-expanded="false">Actions <span class="caret"></span></a>
                <ul class="dropdown-menu">
                  <li><%= link_to "Nuevo articulo", new_article_path %></li>
                  <li role="separator" class="divider"></li>
                  <li><a href="#">One more separated link</a></li>
                </ul>
              </li>
            </ul>
          <% end %>
    

    它就像一个魅力!

    再次感谢大家!!!

    【讨论】:

    • 很高兴随时提供帮助 :) !!
    猜你喜欢
    • 2017-07-16
    • 1970-01-01
    • 2022-08-13
    • 2017-11-26
    • 2014-08-15
    • 2018-06-30
    • 1970-01-01
    • 2018-08-12
    • 2013-03-13
    相关资源
    最近更新 更多