如何将Bootstrap可折叠Navbar中的3x图标栏更改为我自己的汉堡包图标?

时间:2015-08-24 13:47:07

标签: css twitter-bootstrap navbar glyphicons

这是Bootstrap 3可折叠导航栏的示例。

<!DOCTYPE html>
<html lang="en">
<head>
  <title>Bootstrap Case</title>
  <meta charset="utf-8">
  <meta name="viewport" content="width=device-width, initial-scale=1">
  <link rel="stylesheet" href="http://maxcdn.bootstrapcdn.com/bootstrap/3.3.5/css/bootstrap.min.css">
  <link rel="stylesheet" href="custom.css">
  <script src="https://ajax.googleapis.com/ajax/libs/jquery/1.11.3/jquery.min.js"></script>
  <script src="http://maxcdn.bootstrapcdn.com/bootstrap/3.3.5/js/bootstrap.min.js"></script>
</head>
<body>

<nav class="navbar navbar-inverse">
  <div class="container-fluid">
    <div class="navbar-header">
      <button type="button" class="navbar-toggle" data-toggle="collapse" data-target="#myNavbar">
        <span class="icon-bar"></span>
        <span class="icon-bar"></span>
        <span class="icon-bar"></span>                        
      </button>
      <p class="navbar-text visible-xs-inline-block">Text Here</p>
      <a class="navbar-brand" href="#">WebSiteName</a>
    </div>
    <div class="collapse navbar-collapse" id="myNavbar">
      <ul class="nav navbar-nav">
        <li class="active"><a href="#">Home</a></li>
        <li class="dropdown">
          <a class="dropdown-toggle" data-toggle="dropdown" href="#">Page 1 <span class="caret"></span></a>
          <ul class="dropdown-menu">
            <li><a href="#">Page 1-1</a></li>
            <li><a href="#">Page 1-2</a></li>
            <li><a href="#">Page 1-3</a></li>
          </ul>
        </li>
        <li><a href="#">Page 2</a></li>
        <li><a href="#">Page 3</a></li>
      </ul>
      <ul class="nav navbar-nav navbar-right">
        <li><a href="#"><span class="glyphicon glyphicon-user"></span> Sign Up</a></li>
        <li><a href="#"><span class="glyphicon glyphicon-log-in"></span> Login</a></li>
      </ul>
    </div>
  </div>
</nav>

<div class="container">
  <h3>Collapsible Navbar</h3>
  <p>In this example, the navigation bar is hidden on small screens and replaced by a button in the top right corner (try to re-size this window).
  <p>Only when the button is clicked, the navigation bar will be displayed.</p>
</div>

</body>
</html>

我想改变:

<span class="icon-bar"></span>
<span class="icon-bar"></span>
<span class="icon-bar"></span>

我自己的汉堡包图标:

<span class="hamburger-menu"></span>

我希望汉堡包菜单图标看起来像完全,就像通常使用的其他glyphicons bootstrap 3一样(我猜他们使用半身套装,它们是14x14像素,但我可能错了...)。

我还想在导航栏的右侧部分添加信封glyphicon +徽章(告诉用户他/她有多少条未读消息),与汉堡包菜单相同,但在汉堡菜单的左侧图标,让它全部垂直排列。

我在这里尝试了解决方案:How to add text to bootstrap mobile menu但是文本会添加到导航栏的左侧部分,旁边是品牌。此外,如果我添加glypicon和徽章,它们看起来很奇怪(不是垂直对齐)。

我也无法弄清楚如何将3x图标栏更改为我自己的汉堡包。我制作了自己的图标(14x14像素)并将其存储在本地。我还有一个custom.css,它将添加/覆盖Bootstrap css。但是,我无法弄清楚要操作的类和方法。

有人请帮忙吗?

1 个答案:

答案 0 :(得分:0)

您可以删除跨度:

    <span class="icon-bar"></span>
    <span class="icon-bar"></span>
    <span class="icon-bar"></span>                        

并将您的图标直接添加到按钮类,如此,

 <button type="button" class="navbar-toggle hamburger-menu" data-toggle="collapse" data-target="#myNavbar">
 </button>