【问题标题】:Bootstrap : responsive navbar troubleBootstrap:响应式导航栏问题
【发布时间】:2016-04-24 13:51:31
【问题描述】:



调整窗口大小时,我的导航栏出现问题

problem http://img15.hostingpics.net/pics/76755571az.jpg



应该是这样对齐的:
problem http://img15.hostingpics.net/pics/125996aze.jpg 我认为我在我的 css 中遗漏了一些东西......有人可以帮我修复它吗?


代码演示:
http://codepen.io/KyleCprt/pen/JXBqEo


HTML:

<html>

<head>
  <meta charset="utf-8" />
  <meta http-equiv="X-UA-Compatible" content="IE=edge">
  <meta name="viewport" content="width=device-width, initial-scale=1">
  <link rel="stylesheet" href="https://maxcdn.bootstrapcdn.com/bootstrap/3.3.6/css/bootstrap.min.css" integrity="sha384-1q8mTJOASx8j1Au+a5WDVnPi2lkFfwwEAa8hDDdjZlpLegxhjVME1fgjWPGmkzs7" crossorigin="anonymous">
  <script type="text/javascript" src="{{ app.request.basepath }}/lib/jQuery/jquery.min.js"></script>
  <script type="text/javascript" src="{{ app.request.basepath }}/lib/bootstrap/js/bootstrap.min.js"></script>
  <title>GoldenTicket</title>
</head>

<body>
  <div class="containerGT">
    <nav class="navbar navbar-default navbar-fixed-top navbar-default" role="navigation">
      <div class="container">
        <div class="navbar-header">
          <button type="button" class="navbar-toggle collapsed" data-toggle="collapse" data-target="#navbarGT">
              <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="#"><img src="http://res.cloudinary.com/candidbusiness/image/upload/v1455406304/dispute-bills-chicago.png">
          </a>
        </div>
        <div class="navbar-collapse collapse" id="navbarGT">
          <ul class="nav navbar-nav navbar-right">
            <li class="dropdown">
              <a href="#" class="dropdown-toggle" data-toggle="dropdown" role="button" aria-expanded="false">Event Categories <span class="caret"></span></a>
              <ul class="dropdown-menu" role="menu">
              </ul>
            </li>
            <li><a href="{{ path('panier') }}"><span class="glyphicon glyphicon-shopping-cart"></span> Your basket</a></li>
            <li class="{% if adminMenu is defined %}active{% endif %}"><a href="{{ path('admin') }}"><span class="glyphicon glyphicon-cog"></span> Administration</a></li>
            <li class="dropdown">
              <a href="#" class="dropdown-toggle" data-toggle="dropdown">
                <span class="glyphicon glyphicon-user"></span> Welcome, John <b class="caret"></b></a>
              <ul class="dropdown-menu">
                <li><a href="{{ path('logout') }}">Log out</a></li>
                <li><a href="{{ path('user_edit') }}">My account</a></li>
              </ul>
            </li>

          </ul>
        </div>
        <!--/.nav-collapse -->
      </div>
      <!--/.container-fluid -->
    </nav>
    <div id="content">Lorem ipsum dolor sit amet</div>
<footer class="footer">
  <a href="#">GoldenTicket</a> is a school project
</footer>


CSS:

body {
    padding-top: 100px;
}

.footer {
    border-top: 1px solid #ccc;
    padding-top: 10px;
    text-align: center;
}

.eventTitle:hover, .eventTitle:focus {
    text-decoration: none;
}

.adminTable {
    margin-top: 20px;
    margin-bottom: 20px;
}

#errorPanel {
    padding-top: 30px;
    padding-bottom: 10px;
}


.navbar-brand {
  padding: 0px;
}
.navbar-brand>img {
  height: 100%;
  padding: 15px;
  width: auto;
}

.containerGT .navbar-brand {
  height: 80px;
}

.containerGT .nav >li >a {
  padding-top: 30px;
  padding-bottom: 30px;
}
.containerGT .navbar-toggle {
  padding: 10px;
  margin: 25px 15px 25px 0;
}

#content{
  margin-left: 2%;
  margin-right: 2%;
}


/* CSS Transform Align Navbar Brand Text ... This could also be achieved with table / table-cells */
.navbar-alignit .navbar-header {
      -webkit-transform-style: preserve-3d;
  -moz-transform-style: preserve-3d;
  transform-style: preserve-3d;
  height: 50px;
}
.navbar-alignit .navbar-brand {
    top: 50%;
    display: block;
    position: relative;
    height: auto;
    transform: translate(0,-50%);
    margin-right: 15px;
  margin-left: 15px;
}

.navbar-nav>li>.dropdown-menu {
    z-index: 9999;
}

.indexJumb{
  padding-top: 20px;
  padding-bottom: 20px;
}

.containerIndex{
  margin-left: 0;
}

.coverImgIndex{
  width:100%;
}

【问题讨论】:

    标签: html twitter-bootstrap responsive-design


    【解决方案1】:

    EDIT(删除所有以前的现在多余的文本)

    问题出在这个元素内部:

    <nav class="navbar navbar-default navbar-fixed-top navbar-default" role="navigation">
    

    您在那里有一个容器,但该容器内没有行和列。恕我直言,这就是利润率的问题。 Bootstrap 喜欢它的结构,所以你应该遵守它。它有填充(容器) - 边距(行) - 填充(列)层次结构,所以如果你错过了一个并且有问题。

    如果你想了解更多关于它是如何在 bootstrap 中工作的,请阅读这篇文章 http://www.helloerik.com/the-subtle-magic-behind-why-the-bootstrap-3-grid-works,它对我帮助很大。

    所以你有两个选择:

    1. 彻底摆脱容器(效果很好)

    2. 离开容器并在其中添加一行和一列。因此,该行可能就在容器 div 之后,一列可能是徽标,另一列可能是我猜的实际菜单。

    解决方案:

    <nav class="navbar navbar-default navbar-fixed-top navbar-default" role="navigation">
      <div class="navbar-header">
        <button type="button" class="navbar-toggle collapsed" data-toggle="collapse" data-target="#navbarGT">
    ....
    

    希望这会有所帮助:)

    【讨论】:

    • 谢谢,我认为您的解决方案可行,但我使用 composer。所以我认为每次我用 composer 更新时,它都会删除我的自定义引导 css。
    • 我又编辑了一遍。我认为我的最后一次编辑将为您提供最好的帮助。我不想听起来像一个冲洗器,但如果是这样,请您考虑将我的答案标记为有用吗?我想得到积分,所以我可以感谢一个给我很多建议的人,但我不能因为这个愚蠢的系统。谢谢你:)
    【解决方案2】:

    您是否在不同的媒体查询大小上尝试过不同的导航链接字体大小和事件标题/徽标的值?

    在较小的设备上查看时使用较小的字体和较小的图像可能会使它们很好地融合在一起。

    【讨论】:

    • 是的,我尝试了不同的值,但没有任何改变
    【解决方案3】:

    您的导航似乎在 768ox-991px 之间中断。

    在到达 col-sm- 断点 (768px) 之前,Bootstrap 下拉菜单不会激活,因此需要添加自定义媒体查询并将下拉导航定位到在 col-med (991px) 断点处激活。

    【讨论】:

    • 谢谢,您的回答帮助我指导了我的研究。我创建了一个解决方案来在其他帖子上添加自定义媒体查询 -> link
    猜你喜欢
    • 2016-04-13
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2014-12-04
    • 2017-01-15
    • 1970-01-01
    相关资源
    最近更新 更多