Bulma 导航栏有两行
Bulma navbar with two rows
在 bulma.io 中重现此内容的最佳方法是什么?包括responsivness, hamburger等
<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;dr ---
我最近搬到 Vue.js 前端,这涉及到我的工作流程的巨大变化。我也在考虑尝试从 Bootstrap3 切换到更清洁的东西并尝试了 Bulma。直到我想做一些与众不同的事情之前,这真是令人愉快的经历。在我的例子中,它是两行导航栏。经过一个小时的尝试,我迅速切换回 Bs3。
使用 bootstrap 的主要优势在于,成千上万想要实现各种疯狂的怪人已经提出了数十个愚蠢的问题。他们中的大多数都得到了患者社区的回答,现在可供 public 使用。不幸的是,布尔玛还没有这个。
我觉得现在至少有 70% 的程序员意味着 google-around Whosebug。快速研究主题的能力是必不可少的。我没有时间为自己探索一切,我要养家糊口,而我的客户根本不在乎我使用哪种框架。但至少我决定问。可能有人将来会面临类似的挑战。干杯。
可能有很多方法可以做到这一点。这是一种方法:
按照 documentation 中所述创建菜单
那么...
HTML
- 添加 'Application Title' 作为
navbar-brand
的 first-child。
- 将
is-hidden-touch
修饰符添加到包含徽标的 navbar-item
。这将在移动设备和平板设备上隐藏它。
- 'logged in user'内容可以添加到
navbar-end
。
CSS
- 我们需要
navbar-brand
来占据自己的'row'。为此,请将其宽度更新为 100%。
- 然后,将
justify-content
属性到navbar-brand
到space的内容均匀地加入
- 要确保
navbar-menu
移动到新的 'row',您必须将 flex-wrap
属性 添加到 navbar
。
.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>
在 bulma.io 中重现此内容的最佳方法是什么?包括responsivness, hamburger等
<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;dr ---
我最近搬到 Vue.js 前端,这涉及到我的工作流程的巨大变化。我也在考虑尝试从 Bootstrap3 切换到更清洁的东西并尝试了 Bulma。直到我想做一些与众不同的事情之前,这真是令人愉快的经历。在我的例子中,它是两行导航栏。经过一个小时的尝试,我迅速切换回 Bs3。
使用 bootstrap 的主要优势在于,成千上万想要实现各种疯狂的怪人已经提出了数十个愚蠢的问题。他们中的大多数都得到了患者社区的回答,现在可供 public 使用。不幸的是,布尔玛还没有这个。
我觉得现在至少有 70% 的程序员意味着 google-around Whosebug。快速研究主题的能力是必不可少的。我没有时间为自己探索一切,我要养家糊口,而我的客户根本不在乎我使用哪种框架。但至少我决定问。可能有人将来会面临类似的挑战。干杯。
可能有很多方法可以做到这一点。这是一种方法:
按照 documentation 中所述创建菜单 那么...
HTML
- 添加 'Application Title' 作为
navbar-brand
的 first-child。 - 将
is-hidden-touch
修饰符添加到包含徽标的navbar-item
。这将在移动设备和平板设备上隐藏它。 - 'logged in user'内容可以添加到
navbar-end
。
CSS
- 我们需要
navbar-brand
来占据自己的'row'。为此,请将其宽度更新为 100%。 - 然后,将
justify-content
属性到navbar-brand
到space的内容均匀地加入 - 要确保
navbar-menu
移动到新的 'row',您必须将flex-wrap
属性 添加到navbar
。
.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>