Bulma-在平板电脑上显示未折叠的导航栏 [英] Bulma - Show Uncollapsed Navbar on Tablet

查看:44
本文介绍了Bulma-在平板电脑上显示未折叠的导航栏的处理方法,对大家解决问题具有一定的参考价值,需要的朋友们下面随着小编来一起学习吧!

问题描述

在以下可运行的代码片段中,我使用导航栏设置了基本的布尔玛布局.导航栏很早就打破了汉堡包,因为我拥有的链接数量/大小.

In the following runnable code snippet I have setup a basic Bulma layout with a navbar. The navbar is breaking to hamburger very early for the amount/size of links I have.

我该如何仅在较小的屏幕上进行此中断?例如只能在手机上使用汉堡包.

How can I make this break on smaller screens only? e.g. Hamburger only on phones.

(function() {
  let burger = document.querySelector('.burger');
  let nav = document.querySelector('#' + burger.dataset.target);

  burger.addEventListener('click', function() {
    burger.classList.toggle('is-active');
    nav.classList.toggle('is-active');
  });
})();

<!DOCTYPE html>
<html>

<head>
  <meta charset="utf-8">
  <meta name="viewport" content="width=device-width, initial-scale=1">
  <title>Hello Bulma!</title>
  <link rel="stylesheet" href="https://cdnjs.cloudflare.com/ajax/libs/bulma/0.7.1/css/bulma.min.css">
  <script defer src="https://use.fontawesome.com/releases/v5.1.0/js/all.js"></script>
</head>

<body>
  <nav class="navbar is-black is-desktop">
    <div class="container">
      <div class="navbar-brand">
        <a href="#" class="navbar-item">
            title
          </a>
        <span class="navbar-burger burger" data-target="navMenu">
            <span></span>
        <span></span>
        <span></span>
        </span>
      </div>
      <div id="navMenu" class="navbar-menu">
        <div class="navbar-end">
          <a href="#" class="navbar-item is-active">Home</a>
          <a href="#" class="navbar-item">Two</a>
          <a href="#" class="navbar-item">Three</a>
          <a href="#" class="navbar-item">Four</a>
          <a href="#" class="navbar-item">Five</a>
        </div>
      </div>
    </div>
  </nav>

  <section class="section">
    <div class="container">
      <h1 class="title">
        Hamburger Help!
      </h1>
      <p class="subtitle">
        How do i get the nav links to show on tablet instead of the hamburger?
      </p>
    </div>
  </section>
</body>

</html>

推荐答案

您可以将 $ navbar-breakpoint 变量设置为平板电脑.默认情况下,导航栏断点设置为桌面.

You can set $navbar-breakpoint variable to tablet. By default navbar breakpoint is set to desktop.

在您的main.scss中,更新Bulma的 $ navbar-breakpoint 变量.

In your main.scss, update Bulma's $navbar-breakpoint variable.

// Import only what you need from Bulma
@import "../node_modules/bulma/sass/utilities/_all.sass";
@import "../node_modules/bulma/sass/base/_all.sass";
@import "../node_modules/bulma/sass/elements/button.sass";
@import "../node_modules/bulma/sass/elements/container.sass";
@import "../node_modules/bulma/sass/elements/form.sass";
@import "../node_modules/bulma/sass/elements/title.sass";

$navbar-breakpoint: $tablet;

@import "../node_modules/bulma/sass/components/navbar.sass";
@import "../node_modules/bulma/sass/layout/hero.sass";
@import "../node_modules/bulma/sass/layout/section.sass";
@import "../node_modules/bulma/sass/grid/columns.sass";

导入_all.sass实用程序后,我将 $ navbar-breakpoint 变量设置为 $ tablet 的值.您需要这样做,因为必须先设置 $ tablet 变量.

I'm setting $navbar-breakpoint variable to the value of $tablet after importing _all.sass utilities. You need to do that because $tablet variable has to get set first.

此后,您需要在导入导航栏组件之前设置 $ navbar-breakpoint 变量,否则将使用默认桌面值.

After that you need to set$navbar-breakpoint variable before importing navbar component, otherwise default desktop value will be used.

这篇关于Bulma-在平板电脑上显示未折叠的导航栏的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持IT屋!

查看全文
登录 关闭
扫码关注1秒登录
发送“验证码”获取 | 15天全站免登陆