导航栏示例在移动设备上无法正常工作,问题出在 Blazor 中,Bulma 框架存在兼容性问题。

3

我在Blazor网站中从Bulma网站复制了这个示例导航栏。在网页上它可以正常工作,但在移动设备上,导航栏汉堡菜单无法响应。我是否在该过程中遗漏了重要步骤?例如,是否需要处理.css文件?

<nav class="navbar" role="navigation" aria-label="main navigation">
    <div class="navbar-brand">
        <a class="navbar-item" href="https://bulma.io">
            <img src="https://bulma.io/images/bulma-logo.png" width="112" height="28">
        </a>

        <a role="button" class="navbar-burger burger" aria-label="menu" aria-expanded="false" data-target="navbarBasicExample">
            <span aria-hidden="true"></span>
            <span aria-hidden="true"></span>
            <span aria-hidden="true"></span>
        </a>
    </div>

    <div id="navbarBasicExample" class="navbar-menu">
        <div class="navbar-start">
            <a class="navbar-item">
                Home
            </a>

            <a class="navbar-item">
                Documentation
            </a>

            <div class="navbar-item has-dropdown is-hoverable">
                <a class="navbar-link">
                    More
                </a>

                <div class="navbar-dropdown">
                    <a class="navbar-item">
                        About
                    </a>
                    <a class="navbar-item">
                        Jobs
                    </a>
                    <a class="navbar-item">
                        Contact
                    </a>
                    <hr class="navbar-divider">
                    <a class="navbar-item">
                        Report an issue
                    </a>
                </div>
            </div>
        </div>

        <div class="navbar-end">
            <div class="navbar-item">
                <div class="buttons">
                    <a class="button is-primary">
                        <strong>Sign up</strong>
                    </a>
                    <a class="button is-light">
                        Log in
                    </a>
                </div>
            </div>
        </div>
    </div>
</nav>
2个回答

5
这是因为Bulma没有任何JavaScript,所以您需要在navbar-burger和目标navbar-menu上切换类is-activeBulma导航栏文档中有实现示例,我个人使用的是完美运行的jQuery实现:
 $(document).ready(function() {

  // Check for click events on the navbar burger icon
  $(".navbar-burger").click(function() {

      // Toggle the "is-active" class on both the "navbar-burger" and the "navbar-menu"
      $(".navbar-burger").toggleClass("is-active");
      $(".navbar-menu").toggleClass("is-active");

  });
});

如果您想要,文档中还有一个Vanilla Javascript实现。


1
你是否已经将所有脚本和链接包含在index.html中?你尝试过强制刷新(Ctrl + F5或Ctrl + Shift + R)吗?你的Program.cs和他们的一样吗?
如果以上方法都没用,你能提供整个代码库吗?最好是git或zip文件。

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接