bootstrap navbar实现原理

发布于 2022-09-04 20:58:53 字数 1912 浏览 8 评论 0

最近在研究bootstrap源码,看到navbar的时候有个问题想不通,代码如下:

    <nav class="navbar navbar-default">
      <div class="container">
        <!-- 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="#navbar-collapse" 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>
          <a class="navbar-brand" href="#">Brand</a>
        </div>

        <!-- Collect the nav links, forms, and other content for toggling -->
        <div class="collapse navbar-collapse" id="navbar-collapse">
          <ul class="nav navbar-nav">
            <li class="active"><a href="#">Link <span class="sr-only">(current)</span></a></li>
            <li><a href="#">Link</a></li>
          </ul>
        </div><!-- /.navbar-collapse -->
      </div><!-- /.container-fluid -->
    </nav>

有一点想不通的是,navbar-headerdiv块和navbar-collapsediv块在HTML结构上是平级的,两者也都有float属性,但是审查元素的时候,发现navbar-header被包含在了navbar-collapse这个div块里,想不明白为什么会出现这种效果?

如下图所示:

clipboard.png

红框是给navbar-collapse加了一个outline属性,代码如下:

    <style type="text/css">
      #navbar-collapse {
        outline: 2px solid red;
      }
      .navbar-nav {
        outline: 2px solid green;
      }
    </style>

如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。

扫码二维码加入Web技术交流群

发布评论

需要 登录 才能够评论, 你可以免费 注册 一个本站的账号。

评论(1

泛滥成性 2022-09-11 20:58:54

collapse并没有float:left属性,实在不行你可以添加样式float:left试试。

~没有更多了~
我们使用 Cookies 和其他技术来定制您的体验包括您的登录状态等。通过阅读我们的 隐私政策 了解更多相关信息。 单击 接受 或继续使用网站,即表示您同意使用 Cookies 和您的相关数据。
原文