Angular Material 提示框提供了一种文本标签,当用户的鼠标悬停或长按某个元素时,它就会显示出来。
提示框将会显示在本元素的下方,但可以使用输入属性 matTooltipPosition
进行配置。
提示框可以显示在元素的上方、下方、左侧或右侧,默认是下方。如果希望该提示框在 RTL 布局下自动调换左右位置,则应该用 before
和 after
代替 left
和 right
。
位置 | 描述 |
---|---|
above |
始终显示在元素上方 |
below |
始终显示在元素下方 |
left |
始终显示在元素左侧 |
right |
始终显示在元素右侧 |
before |
在从左到右的布局中显示在左侧,在从右到左的布局中显示在右侧 |
after |
在从左到右的布局中显示在右侧,在从右到左的布局中显示在左侧 |
根据显示工具提示的位置, .mat-tooltip-panel
元素将接收可用于样式的 CSS 类(例如添加箭头)。可能的类是 mat-tooltip-panel-above
、 mat-tooltip-panel-below
、 mat-tooltip-panel-left
、 mat-tooltip-panel-right
。
要显示相对于触发它的鼠标或触控的工具提示,请使用 matTooltipPositionAtOrigin
输入属性。启用此设置后,工具提示将相对于触发器的原点而不是宿主元素显示。在工具提示不是由触控事件或鼠标单击触发的情况下,它的显示方式与此设置关闭时的显示方式相同。
默认情况下,当用户把鼠标移到到触发器元素上时,提示框会立刻显示出来;鼠标离开时会立刻隐藏。
在移动设备上,当用户 "长按" 触发器元素时会显示提示框,延迟 1500ms 后自动隐藏。
要想在显示或隐藏提示框之前添加延迟,可以使用输入属性 matTooltipShowDelay
和 matTooltipHideDelay
来以毫秒为单位指定延迟时间。
下面的例子中的提示框会在鼠标移到按钮上之后等待一秒钟再显示,当鼠标移开时等待两秒钟再隐藏。
你可以使用依赖注入令牌 MAT_TOOLTIP_DEFAULT_OPTIONS
提供一个选项,来配置应用中提示框的默认显示/隐藏延迟。
要想手动显示或隐藏提示框,你可以调用该指令的 show
和 hide
方法,它们可以接受一个以毫秒为单位的数字作为延迟时间。
要完全禁用提示框,请设置 matTooltipDisabled
。禁用之后,则永远不会显示出提示框。
MatTooltip
会添加一个 aria-describedby
描述,它指向一个包含提示信息的不可见元素。
当最终用户把焦点移到用于触发该提示框的元素上时,屏幕阅读器就会读出该提示信息的内容。
aria-describedby
所指向的那个元素并不是提示框本身,而是该提示框内容的一个不可见副本,但它会始终存在于 DOM 中。
避免只显示带有鼠标指针事件(如单击和鼠标输入)的工具提示的交互。始终确保键盘用户可以执行鼠标和触摸用户可用的相同操作集。