如何用css框架Bulma制作导航栏响应式

使用Bulma可快速创建响应式导航栏。首先构建n*bar结构,包含n*bar-brand和n*bar-menu,利用内置类实现Flexbox布局;其次添加J*aScript控制汉堡按钮点击事件,通过toggle is-active类展开或收起菜单;然后确保n*bar-burger的data-target与n*bar-menu的id对应,使响应式生效;最后可选is-primary、is-fixed-top等修饰类定制样式。整个过程简洁高效,自动适配多设备。

如何用css框架bulma制作导航栏响应式

使用 Bulma 制作响应式导航栏非常简单,因为 Bulma 内置了对移动端友好的组件和类。你只需要正确使用 n*bar 组件,并结合 Bulma 提供的 J*aScript 触发逻辑,就能实现自动折叠的响应式导航栏。

1. 基础结构:使用 n*bar 组件

Bulma 的导航栏基于 Flexbox 构建,天然支持响应式布局。基本结构如下:

<n* class="n*bar is-primary" role="n*igation" aria-label="main n*igation">
  <div class="n*bar-brand">
    <a class="n*bar-item" href="/">
      <strong>MySite</strong>
    </a>
<pre class='brush:php;toolbar:false;'><!-- 汉堡按钮(仅在小屏幕显示) -->
<a role="button" class="n*bar-burger" aria-label="menu" aria-expanded="false">
  <span aria-hidden="true"></span>
  <span aria-hidden="true"></span>
  <span aria-hidden="true"></span>
</a>

首页 关于 联系
<div class="n*bar-end">
  <a class="n*bar-item" href="/login">登录</a>
</div>

2. 添加 J*aScript 控制汉堡菜单

Bulma 不包含 J*aScript,所以你需要自己添加一小段 JS 来控制汉堡菜单的展开与收起:

Content at Scale Content at Scale

SEO长内容自动化创作平台

Content at Scale 154 查看详情 Content at Scale
<script>
document.addEventListener('DOMContentLoaded', () => {
  const $n*barBurgers = Array.prototype.slice.call(document.querySelectorAll('.n*bar-burger'), 0);
  if ($n*barBurgers.length > 0) {
    $n*barBurgers.forEach(el => {
      el.addEventListener('click', () => {
        const target = el.dataset.target;
        const $target = document.getElementById(target);
<pre class='brush:php;toolbar:false;'>    el.classList.toggle('is-active');
    $target.classList.toggle('is-active');
  });
});

} });

这段代码会监听点击事件,切换 is-active 类,从而控制菜单显示。

3. 确保响应式行为生效

Bulma 默认会在小屏幕上隐藏 .n*bar-menu,只显示 .n*bar-brand 和汉堡图标。关键点:

  • 确保 .n*bar-burger 上有 data-target 属性,值为菜单容器的 ID
  • .n*bar-menu 添加一个 ID,并与 data-target 对应
  • 例如:<a class="n*bar-burger" data-target="n*Menu"></a><div class="n*bar-menu" id="n*Menu"> <h3>4. 自定义样式(可选)</h3> <p>你可以通过 Bulma 的修饰类来调整外观:</p> <ul> <li> <strong>is-primary / is-dark / is-light</strong>:设置主题颜色</li> <li> <strong>is-fixed-top</strong>:让导航栏固定在顶部</li> <li>配合 <strong>has-shadow</strong> 增加阴影效果</li> </ul> <p>基本上就这些。Bulma 的响应式导航栏靠 HTML 结构 + 少量 JS 实现,简洁高效,适配手机、<a style="color:#f60; text-decoration:underline;" title="平板" href="https://www.php.cn/zt/17177.html" target="_blank">平板</a>和桌面端自动切换布局。</p> </div>

以上就是如何用css框架Bulma制作导航栏响应式的详细内容,更多请关注其它相关文章!

本文转自网络,如有侵权请联系客服删除。