Skip to main content Skip to docs navigation

交互实用程序

改变用户与网站内容交互方式的实用程序类。

文本选择

更改用户选择内容的方式。

This paragraph will be entirely selected when clicked by the user.

This paragraph has default select behavior.

This paragraph will not be selectable when clicked by the user.

<p class="user-select-all">This paragraph will be entirely selected when clicked by the user.</p>
<p class="user-select-auto">This paragraph has default select behavior.</p>
<p class="user-select-none">This paragraph will not be selectable when clicked by the user.</p>

指针事件

Bootstrap 提供 .pe-none.pe-auto 类来防止或添加元素交互。

This link can not be clicked.

This link can be clicked (this is default behavior).

This link can not be clicked because the pointer-events property is inherited from its parent. However, this link has a pe-auto class and can be clicked.

<p><a href="#" class="pe-none" tabindex="-1" aria-disabled="true">This link</a> can not be clicked.</p>
<p><a href="#" class="pe-auto">This link</a> can be clicked (this is default behavior).</p>
<p class="pe-none"><a href="#" tabindex="-1" aria-disabled="true">This link</a> can not be clicked because the <code>pointer-events</code> property is inherited from its parent. However, <a href="#" class="pe-auto">this link</a> has a <code>pe-auto</code> class and can be clicked.</p>

.pe-none 类(以及它设置的 pointer-events CSS 属性)仅阻止与指针(鼠标、触控笔、触摸)的交互。 默认情况下,带有 .pe-none 的链接和控件对于键盘用户仍然是可聚焦和可操作的。 为了确保它们即使对于键盘用户也完全无效,您可能需要添加更多属性,例如 tabindex="-1" (以防止它们接收键盘焦点)和 aria-disabled ="true" (传达它们被辅助技术禁用),并可能使用 JavaScript 来完全阻止它们可操作。

如果可能,更简单的解决方案是:

  • 对于表单控件,添加 disabled HTML 属性。
  • 对于链接,删除 href 属性,使其成为非交互式锚或占位符链接。

Sass

实用程序 API

交互实用程序在我们的实用程序 API 中的 scss/_utilities.scss 中声明。 了解如何使用实用程序 API。

    "user-select": (
      property: user-select,
      values: all auto none
    ),
    "pointer-events": (
      property: pointer-events,
      class: pe,
      values: none auto,
    ),