如何设置 MUI Tooltip
文本的样式?悬停时的默认工具提示是黑色的,没有文字换行。是否可以更改背景,颜色等?这个选项甚至可用吗?
原文由 codinginnewyork 发布,翻译遵循 CC BY-SA 4.0 许可协议
如何设置 MUI Tooltip
文本的样式?悬停时的默认工具提示是黑色的,没有文字换行。是否可以更改背景,颜色等?这个选项甚至可用吗?
原文由 codinginnewyork 发布,翻译遵循 CC BY-SA 4.0 许可协议
MUI v5 更新
您可以通过覆盖工具提示槽中的样式来自定义 Tooltip
。在 v5 中有 3 种方法可以做到这一点。有关参考,请参阅 Tooltip
的 自定义 部分。 sx
prop 和 createTheme
的更多例子可以在 这里 和 这里 看到。
styled()
const ToBeStyledTooltip = ({ className, ...props }) => (
<Tooltip {...props} classes={{ tooltip: className }} />
);
const StyledTooltip = styled(ToBeStyledTooltip)(({ theme }) => ({
backgroundColor: '#f5f5f9',
color: 'rgba(0, 0, 0, 0.87)',
border: '1px solid #dadde9',
}));
sx
道具<Tooltip
title="Add"
arrow
componentsProps={{
tooltip: {
sx: {
bgcolor: 'common.black',
'& .MuiTooltip-arrow': {
color: 'common.black',
},
},
},
}}
>
<Button>SX</Button>
</Tooltip>
createTheme
+ ThemeProvider
const theme = createTheme({
components: {
MuiTooltip: {
styleOverrides: {
tooltip: {
backgroundColor: 'pink',
color: 'red',
border: '1px solid #dadde9',
},
},
},
},
});
原文由 NearHuscarl 发布,翻译遵循 CC BY-SA 4.0 许可协议
1 回答986 阅读
115 阅读
这个问题的另一个流行答案(André Junges)是针对 Material-UI 的 0.x 版本。下面我从 Material UI 的 Tooltip - Customization Style 中复制了我的答案,它针对 v3 和 v4 解决了这个问题。再往下,我添加了一个使用 v5 的示例版本。
下面是如何通过主题覆盖所有工具提示的示例,或者使用 withStyles 自定义单个工具提示(两个不同的示例)。第二种方法也可用于创建自定义工具提示组件,您可以重用该组件,而无需强制它在全局范围内使用。
以下是有关工具提示 CSS 类的文档,可用于控制工具提示行为的不同方面: https ://material-ui.com/api/tooltip/#css
以下是有关在主题中覆盖这些类的文档: https ://material-ui.com/customization/components/#global-theme-override
这是一个类似的示例,但已更新为与 Material-UI v5 一起使用(请注意,经过 一些修复,它可以在 5.0.3 及更高版本中使用)。它包括通过主题进行自定义,使用
styled
进行自定义,以及使用sx
属性进行自定义。所有这些自定义都针对“工具提示槽”,以便将 CSS 应用于控制工具提示的视觉外观的元素。有关 v4 和 v5 之间主题结构更改的文档: https ://mui.com/guides/migration-v4/#theme
Material-UI 文档中的工具提示自定义示例: https ://mui.com/components/tooltips/#customization