🆕 Bricks 2.4 已发布:查询循环性能提升 40%,迁移教程同步更新 →

首页 / 中文教程 / 教程

用自定义链接/按钮/Div 打开 Bricks Offcanvas(brxe-toggle 类)

实战技巧:用自定义链接/按钮/Div 打开 Bricks Offcanvas(brxe-toggle 类)——offcanvas 实操步骤+踩坑提醒,适合外贸独立站与 WordPress 开发者。

Ray ChanRay Chan·2026-08-12·约 2 分钟
目录
  1. 1.场景:不用汉堡图标也能打开 Offcanvas
  2. 2.Step 1:给自定义元素加 brxe-toggle 类
  3. 3.Step 2:多个 Offcanvas 用 data-selector 指定目标
  4. 4.原理说明
  5. 5.小结

场景:不用汉堡图标也能打开 Offcanvas

Bricks 里做全高侧滑菜单(Offcanvas)通常用两个元素配合:Offcanvas(侧滑面板本体)和 Toggle(汉堡按钮)。Toggle 点击后滑出 Offcanvas,开箱即用。

但很多设计里并不想要汉堡图标:可能是「查看购物车」文字链接、一个风格化的 Button,或者干脆是自定义 Div(比如图片、图标组合)。能不能让这些元素也能触发 Offcanvas?

可以。秘诀只有一个:给它们加上 brxe-toggle 这个类。这是 BricksLabs 免费教程给出的做法,无需任何 JS 和 PHP。

Step 1:给自定义元素加 brxe-toggle 类

以 Button 元素为例:

  1. 在页面里放置一个 Button(或文本链接、Div)。

  2. 选中它,在 STYLE → CSS → CSS classes 输入框里添加 brxe-toggle。

加完后点这个按钮,绑定的 Offcanvas 就会像被 Toggle 点击了一样滑出。

注意类名要加在触发元素上,而不是 Offcanvas 上。另外,brxe-toggle 这个类可以加在 active class(元素激活时)输入框里,也可以加在 CSS classes 里。作者推荐后者——放 CSS classes 里不会意外生成任何针对该类的样式,纯粹只起「行为标记」作用。

Step 2:多个 Offcanvas 用 data-selector 指定目标

页面上有多个 Offcanvas(比如左侧菜单一个、右侧购物车一个)时,Bricks 怎么知道点哪个按钮开哪个面板?

在 brxe-toggle 之外,再给触发元素加一个 data-selector 属性,值为目标 Offcanvas 的 HTML ID 或 class:

<!-- 触发按钮:只打开 id 为 my-cart-offcanvas 的面板 -->
<button class="brxe-toggle" data-selector="#my-cart-offcanvas">打开购物车</button>

Bricks 的前端脚本会读取 data-selector,把点击事件绑定到指定 Offcanvas。没有 data-selector 时,默认就近关联页面中的 Offcanvas 元素。

原理说明

  • brxe-toggle 是 Bricks 的约定类名:Toggle 元素本身渲染出来就带这个类,Bricks 的 JS(bricks.min.js)监听所有带 brxe-toggle 的元素,点击时触发 Offcanvas 的展开/收起并同步 aria-expanded。所以给任何元素加上这个类,就等价于「借用了 Toggle 的行为」,但完全不继承汉堡图标的样式。

  • data-selector:Bricks Offcanvas 支持通过该属性指定关联面板的选择器,用于多实例场景,避免「页面上只有一个 Offcanvas」的默认就近匹配逻辑失效。

  • 为什么推荐加在 CSS classes 而非 active class:active class 是元素处于激活态时追加的类,语义是「样式钩子」;CSS classes 则纯粹是静态类名。把行为标记类放 CSS classes,样式和行为互不污染,误伤风险最小。

相关阅读:

小结

「加类」是 Bricks 最常见的扩展开关:brxe-toggle 把任意元素变成 Offcanvas 触发器,data-selector 解决多面板定向。整个过程零代码、纯构建器操作。同理,Bricks 里很多内置交互都靠约定类名驱动,掌握了这套机制,就能组合出官方没直接提供的交互方式。

常见误区

用 brxe-toggle 时有几个点要注意:一是多个 Offcanvas 一定要用 data-selector 指准目标,否则所有触发器都会打开第一个面板;二是别给会嵌套在 Offcanvas 里的元素也加 brxe-toggle,容易触发自己;三是无障碍和键盘可访问性——纯自定义 Div 触发没问题,但记得给面板配好关闭方式和焦点管理,别让用户关不掉。至于汉堡图标,它只是 Toggle 元素的默认外观,想换成文字链接或图片,本质都是同一个触发器机制。

常见问题(FAQ)

Q:一定要用汉堡图标才能开 Offcanvas 吗? A:不用,给任意元素加 brxe-toggle 类就能变成触发器,文字链接、按钮、图片都行。

Q:多个 Offcanvas 怎么区分? A:用 data-selector 指定目标面板的 CSS 选择器,否则默认开第一个。

Q:自定义 Div 触发会影响无障碍吗? A:机制本身没问题,但记得给面板配好关闭和焦点管理,保证键盘可操作。

延伸阅读

Ray Chan

站长

Ray Chan

WordPress Developer & Bricks Specialist

WordPress developer with 10+ years of client builds. Switched to Bricks in 2023 — now builds fast WordPress sites and migrates legacy Elementor/Divi projects.

延伸阅读