【问题标题】:Bulma navbar with two rowsBulma 导航栏有两行
【发布时间】:2023-03-13 19:28:01
【问题描述】:

在 bulma.io 中重新创建它的最佳方法是什么?包括响应性、汉堡包等。

<link href="https://cdnjs.cloudflare.com/ajax/libs/twitter-bootstrap/3.3.7/css/bootstrap.min.css" rel="stylesheet"/>
<script src="https://cdnjs.cloudflare.com/ajax/libs/jquery/1.12.4/jquery.min.js"></script>
<script src="https://cdnjs.cloudflare.com/ajax/libs/twitter-bootstrap/3.3.7/js/bootstrap.min.js"></script>
<nav class="navbar navbar-fixed-top">

    <div class="container">

        <div class="row navbar-first-row">

            <button type="button" class="navbar-toggle collapsed" data-toggle="collapse"
                    data-target="#navbar-main-collapse">
                <span class="glyphicon glyphicon-menu-hamburger"></span>
                <span class="sr-only">Toggle navigation</span>
            </button>

            <div class="navbar-right navbar-text hidden-xs">
                Logo
            </div>

            <h1 class="h4 navbar-text">Really long application title</h1>

        </div>

        <div class="row navbar-second-row">

            <div class="navbar-right navbar-text hidden-xs">Logged User</div>

            <div class="collapse navbar-collapse" id="navbar-main-collapse">
                <ul class="nav navbar-nav">
                    <li class="active"><a href="#">Item 1</a></li>
                    <li><a href="#">Item 2</a></li>
                    <li><a href="#">Item 2</a></li>
                    <li><a href="#">Item 2</a></li>
                    <li><a href="#">Item 3</a></li>
                </ul>
            </div>

        </div>

    </div>

</nav>

--- tl;博士---

我最近迁移到前端的 Vue.js,这涉及到我的工作流程的巨大变化。我也在考虑尝试从 Bootstrap3 切换到更清洁的东西,并尝试了 Bulma。在我想做一些不寻常的事情之前,这真的是令人愉快的经历。就我而言,它是两行导航栏。经过一个小时的尝试,我很快切换回 Bs3。

使用 bootstrap 的主要优点是,成千上万想要实现各种疯狂的怪人已经问了几十个愚蠢的问题。他们中的大多数都得到了患者社区的回答,现在可供公众使用。不幸的是,布尔玛还没有这个。

我觉得现在至少 70% 的程序员意味着无论如何都要用谷歌搜索 stackoverflow。快速研究该主题的能力至关重要。我没有时间为自己探索一切,我有一个家庭要养活,我的客户根本不在乎我使用哪个框架。但至少我决定问。将来可能会有人面临类似的挑战。干杯。

【问题讨论】:

  • 在您的示例中,在较小的屏幕上,徽标和登录区域隐藏在移动设备上。那是你想要保留的东西吗?
  • 是的,完全正确。此模板适用于 Intranet 应用程序。徽标/登录在移动设备上并不重要。

标签: css css-frameworks bulma


【解决方案1】:

可能有很多方法可以做到这一点。这是一种方法:

按照documentation 中的说明创建您的菜单 那么……

HTML

  1. 将“应用程序标题”添加为navbar-brand 的第一个子项。
  2. is-hidden-touch 修饰符添加到包含徽标的navbar-item。这会将其隐藏在移动设备和平板电脑设备上。
  3. “登录用户”内容可以添加到navbar-end

CSS

  1. 我们需要navbar-brand 占据它自己的“行”。为此,请将其宽度更新为 100%。
  2. 然后,将justify-content 属性添加到navbar-brand 以使其内容均匀分布。
  3. 为确保navbar-menu 移动到新的“行”,您必须将flex-wrap 属性添加到navbar

fiddle

.navbar-brand {
  width: 100%;
}

.navbar {
  flex-wrap: wrap;
}

.navbar-brand {
  justify-content: space-between;
}
<link href="https://cdnjs.cloudflare.com/ajax/libs/bulma/0.6.1/css/bulma.min.css" rel="stylesheet"/>
<nav class="navbar" role="navigation" aria-label="main navigation">
  <div class="navbar-brand">
    <a class="navbar-item">Really Long Application Title</a>
    <a class="navbar-item is-hidden-touch">
      <img src="https://bulma.io/images/bulma-logo.png" alt="Bulma" width="112" height="28">
    </a>
    <button class="button navbar-burger" data-target="navMenu">
      <span></span>
      <span></span>
      <span></span>
    </button>
  </div>
  <div class="navbar-menu" id="navMenu">
    <div class="navbar-start">
      <a class="navbar-item">Item 1</a>
      <a class="navbar-item">Item 2</a>
      <a class="navbar-item">Item 3</a>
      <a class="navbar-item">Item 4</a>
      <a class="navbar-item">Item 5</a>
    </div>
    <div class="navbar-end">
      <a class="navbar-item">Logged in</a>
    </div>
  </div>
</nav>

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 2020-07-09
    • 1970-01-01
    • 1970-01-01
    • 2016-11-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2020-08-25
    相关资源
    最近更新 更多