徽标
徽标组件生成一个小标签,该标签附加到其子元素上。
简介
徽标是 UI 元素的小型描述符。它通常位于元素之上或附近,并通过显示数字、图标或其他简短的字符集来指示该元素的状态。
<Badge />
Playground
基础知识
import Badge from '@mui/joy/Badge';
徽标组件包裹着它所附加的 UI 元素。它的默认外观是应用程序 primary
颜色中的一个点,位于它所附加元素的右上角。
🛒
内容
使用字符串或数字作为 badgeContent
属性的值,以在徽标内显示内容。
🛍
4🔔
❕🪫
🛍
0
最大值
使用 max
属性将内容限制为最大数值。
💌
1💌
2💌
3💌
4尺寸
徽标组件有三种尺寸:sm
、md
(默认)和 lg
💌
10💌
20💌
30颜色
主题中包含的每个调色板都可通过 color
属性使用。
💌
P💌
N💌
D💌
S💌
W可见性
使用 invisible
属性来控制徽标的可见性。
🛍
12位置
默认情况下,徽标位于其附加元素的右上角。使用 anchorOrigin
属性可根据其 vertical
(顶部或底部)和 horizontal
(左侧或右侧)位置更改徽标的位置。尝试单击下面演示中的箭头以更改徽标的位置

<Badge
anchorOrigin={{
vertical: 'top',
horizontal: 'right',
}}
>
内边距
使用 badgeInset
属性微调徽标相对于其附加元素的位置。此属性接受由数字组成的字符串,以 px
、%
、em
或 rem
为单位表示。(此语法对应于 inset CSS 属性。)
此字符串定义了来自徽标anchorOrigin
的内边距——例如,下面的演示将徽标沿垂直和水平轴都向其子元素的中心推近 14%(相对于右上角)

如果您将两个单位数字传递给 badgeInset
属性——例如 "50px 10px"
——第一个数字应用于垂直轴,第二个数字水平应用。如果您将四个单位数字传递给属性——例如 "0 -10px 0 5px"
,它们将从顶部开始顺时针应用。
无障碍功能
屏幕阅读器可能无法为用户提供有关徽标内容的足够信息。为了使您的徽标易于访问,您必须使用 aria-label
提供完整描述,如下面的演示所示
解剖结构
徽标组件由根 <span>
组成,该根 <span>
容纳徽标附加到的元素,后跟一个 <span>
来表示徽标本身
<span class="MuiBadge-root">
<!-- the element the Badge is attached to -->
<span class="MuiBadge-badge">
<!-- Badge content -->
</span>
</span>