javascript - 左右顶部导航栏菜单,调整大小时重叠

标签 javascript jquery html css twitter-bootstrap

我使用的是 Bootstrap 3,并且有一个固定的标题导航栏。我的左边有几个菜单项,右边有三个。类似于 Stackoverflow 的方式(减去搜索栏)。

当我缩小浏览器窗口时 - 右侧菜单项位于左侧菜单项下方,直到它最终提供切换开关。

如何解决此问题,使其不会将右侧菜单项移动到左侧元素下方?

 body {
      min-height: 70px;
      padding-top: 70px;
    }
<!-- Latest compiled and minified CSS -->
<link rel="stylesheet" href="https://maxcdn.bootstrapcdn.com/bootstrap/3.3.7/css/bootstrap.min.css" integrity="sha384-BVYiiSIFeK1dGmJRAkycuHAHRg32OmUcww7on3RYdg4Va+PmSTsz/K68vbdEjh4u" crossorigin="anonymous">
<script src="https://ajax.googleapis.com/ajax/libs/jquery/1.12.4/jquery.min.js"></script>
<!-- Latest compiled and minified JavaScript -->
<script src="https://maxcdn.bootstrapcdn.com/bootstrap/3.3.7/js/bootstrap.min.js" integrity="sha384-Tc5IQib027qvyjSMfHjOMaLkfuWVxZxUPnCJA7l2mCWNIpG9mGCD8wGNIcPD7Txa" crossorigin="anonymous"></script>


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

  <div class="container">

    <div class="navbar-header">

      <button type="button" class="navbar-toggle collapsed" data-toggle="collapse" data-target="#navbar" aria-expanded="false" aria-controls="navbar">
    						<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="/"><span class="som-brand-color">Brand Title</span></a>

    </div>

    <div id="navbar" class="navbar-collapse collapse">

      <ul class="nav navbar-nav">

        <li><a href="/">Home</a></li>

        <li><a href="/">Dashboard</a></li>

        <li><a href="/">My Account</a></li>

        <li><a href="/">Reporting Tools</a></li>

        <li><a href="/">Alerts & Notifications</a></li>

        <li><a href="/">Release Notes</a></li>

      </ul>

      <ul class="nav navbar-nav navbar-right">

        <li><a href="/alerts/"><i class="fa fa-exclamation-triangle" aria-hidden="true"></i> Item 1</a></li>

        <li><a href="/settings/"><i class="fa fa-cogs" aria-hidden="true"></i> Item 2</a></li>

        <li class="dropdown">

          <a href="#" class="dropdown-toggle" data-toggle="dropdown" role="button" aria-haspopup="true" aria-expanded="false"><i class="fa fa-user" aria-hidden="true"></i> Item 3<span class="caret"></span></a>

          <ul class="dropdown-menu">

            <li><a href=""><i class="fa fa-pencil-square-o" aria-hidden="true"></i> Sub-item 1</a></li>

            <li><a href=""><i class="fa fa-sign-out" aria-hidden="true"></i> Sub-item 2</a></li>

          </ul>

        </li>

      </ul>

    </div>

  </div>

</nav>

最佳答案

您需要使用媒体查询..因为您有许多菜单项,您需要根据屏幕尺寸更改字体大小和边距。

我提供了一种只改变字体大小的解决方案 您可以修改很多参数来优化字体大小填充和所有内容。

示例片段

 body {
      min-height: 70px;
      padding-top: 70px;
    }
@media (min-width: 767px) and (max-width: 1200px)  {
    .navbar-nav > li > a {
    font-size:8px;
    padding-left: 5px;
    padding-right: 5px;
   
    }
    .navbar-brand {
      font-size: 15px;
    }
}
<!-- Latest compiled and minified CSS -->
<link rel="stylesheet" href="https://maxcdn.bootstrapcdn.com/bootstrap/3.3.7/css/bootstrap.min.css" integrity="sha384-BVYiiSIFeK1dGmJRAkycuHAHRg32OmUcww7on3RYdg4Va+PmSTsz/K68vbdEjh4u" crossorigin="anonymous">
<script src="https://ajax.googleapis.com/ajax/libs/jquery/1.12.4/jquery.min.js"></script>
<!-- Latest compiled and minified JavaScript -->
<script src="https://maxcdn.bootstrapcdn.com/bootstrap/3.3.7/js/bootstrap.min.js" integrity="sha384-Tc5IQib027qvyjSMfHjOMaLkfuWVxZxUPnCJA7l2mCWNIpG9mGCD8wGNIcPD7Txa" crossorigin="anonymous"></script>


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

  <div class="container">

    <div class="navbar-header">

      <button type="button" class="navbar-toggle collapsed" data-toggle="collapse" data-target="#navbar" aria-expanded="false" aria-controls="navbar">
    						<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="/"><span class="som-brand-color">Brand Title</span></a>

    </div>

    <div id="navbar" class="navbar-collapse collapse">

      <ul class="nav navbar-nav">

        <li><a href="/">Home</a></li>

        <li><a href="/">Dashboard</a></li>

        <li><a href="/">My Account</a></li>

        <li><a href="/">Reporting Tools</a></li>

        <li><a href="/">Alerts & Notifications</a></li>

        <li><a href="/">Release Notes</a></li>

      </ul>

      <ul class="nav navbar-nav navbar-right">

        <li><a href="/alerts/"><i class="fa fa-exclamation-triangle" aria-hidden="true"></i> Item 1</a></li>

        <li><a href="/settings/"><i class="fa fa-cogs" aria-hidden="true"></i> Item 2</a></li>

        <li class="dropdown">

          <a href="#" class="dropdown-toggle" data-toggle="dropdown" role="button" aria-haspopup="true" aria-expanded="false"><i class="fa fa-user" aria-hidden="true"></i> Item 3<span class="caret"></span></a>

          <ul class="dropdown-menu">

            <li><a href=""><i class="fa fa-pencil-square-o" aria-hidden="true"></i> Sub-item 1</a></li>

            <li><a href=""><i class="fa fa-sign-out" aria-hidden="true"></i> Sub-item 2</a></li>

          </ul>

        </li>

      </ul>

    </div>

  </div>

</nav>

注意:对于导航栏的早期折叠检查这些答案--

Bootstrap 3 Navbar Collapse

Change the default responsive navbar breakpoint

关于javascript - 左右顶部导航栏菜单,调整大小时重叠,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/42869950/

相关文章:

php - 使用ajax php更新Mysql数据库不起作用

javascript - 获取所选项目的类属性

c# - 从 javascript 函数调用 asp.net 函数

javascript - 从服务器读取文本文件(Json)并发送给客户端(Javascript)

javascript - 如果有人在 jquery 或 js 中选择特定选项值,如何触发附加元素

javascript - 如果单击输入,则阻止表单提交

javascript - 如何使用流将 MediaRecorder Web API 输出保存到磁盘

javascript - 我该如何开发这种轮播

javascript - 单击一个时自动折叠所有其他可折叠物

html - 媒体查询中的转换在两个方向都不起作用