Mattooltip:如何使框适合文本?

coc*_*nut 3 css tooltip angular

我有这个文本,我想显示为工具提示。没有样式(只是字体大小定义为 16px)它看起来像这样:

在此处输入图片说明

我真正想要的是将文本显示在一行中 - 所以我在 css 中将空白设置为 pre:

::ng-deep .mat-tooltip {
  font-size: 16px;
  white-space: pre;
}
Run Code Online (Sandbox Code Playgroud)

但是现在文本超出了工具提示的框:

在此处输入图片说明

我尝试将宽度设置为更高的 px 值,但没有任何效果。

有没有办法使框适合文本?

[编辑 - 添加了评论中指出的缺失示例]stackblitz 链接
示例中的文本没有离开框,而是缩写而不是框适合整个文本,尽管我将宽度设置为 400px。

Eim*_*man 15

只需将最大宽度设置为unset. 为此,请定义一个全局 CSS 类,如下所示:

.my-custom-tooltip {
  max-width: unset !important;
}
Run Code Online (Sandbox Code Playgroud)

然后将类名传递给工具提示:

<button mat-raised-button
        matTooltip="This Infotext is displayed one line if possible. Just a little more text for demo!"
        matTooltipClass="my-custom-tooltip">
  Action
</button>
Run Code Online (Sandbox Code Playgroud)

同样正如@rinktacular 所提到的,尽量不要使用ng::deep.

工作 Stackblitz 示例:https ://stackblitz.com/edit/angular-qkh4cl

  • 如果你想看到 DOM 中的实际元素,可以将 `matTooltipHideDelay` 设置为一个大数字,例如 `matTooltipHideDelay="60000"` (3认同)