设置Angular Material Tooltip的字体大小

GLR*_*GLR 19 css tooltip angular-material angular-material2 angular

我对Web开发很陌生,我无法弄清楚如何解决以下问题,尽管它可能很容易.

我正在使用Angular 4和Angular Material来实现这样的工具提示:

<div mdTooltip="tooltip text" mdTooltipPosition="above">
  <span>Show tooltip</span>
</div>
Run Code Online (Sandbox Code Playgroud)

我想使工具提示文本的字体大小更大.但是,我没有设法在Angular Material文档中找到如何执行此操作,也没有在Web中搜索.有没有人知道如何做到这一点?谢谢.

小智 21

根据此处的文档:https://material.angular.io/components/tooltip/api

规范:https://github.com/angular/material2/blob/master/src/lib/tooltip/tooltip.spec.ts

您可以设置属性'matTooltipClass',如下所示:

<div matTooltip="tooltip text" matTooltipPosition="above" matTooltipClass="tooltip">
  <span>Show tooltip</span>
</div>
Run Code Online (Sandbox Code Playgroud)

然后在你的CSS(全局 - 不是组件):

  .mat-tooltip.tooltip {
    background-color: darkblue;
    font-size: 12px;
  }
Run Code Online (Sandbox Code Playgroud)

另见他们的演示:https://github.com/angular/material2/tree/master/src/demo-app/tooltip

另外请记住,如果您使用的是SASS,则工具提示的容器位于底部,并且远离您将其放置在组件的HTML中的位置,因此请勿将其嵌套在该组件中.确保它是独立的,否则它将无法工作.如果你只是选择覆盖.mat-tooltip,那么这个注释显然适用于上面的注释

要查看更改,请在开发人员工具中找到底部的d​​iv,其中包含"cdk-overlay-container"类.然后将鼠标悬停在元素上.您可以在悬停时使用箭头键导航到元素,以确认是否正在添加您的课程.


Dea*_*alk 20

您可以通过.mat-tooltip在主样式文件中添加css声明并更改其中的字体大小来解决此问题.您需要设置!important字体大小,否则它将不会显示.


小智 13

您可以使用css /deep/选择器.例如:

/deep/ .mat-tooltip {
  font-size: 14px;
}
Run Code Online (Sandbox Code Playgroud)

那你就不用了 !important

  • @GLR - 取决于您可能需要使用的Angular版本:: ng-deep .mat-tooltip {font-size:14px; } (3认同)

das*_*dsa 8

在 v15 中,您可以更改 css 变量(在 styles.scss 中)

body{
  .mat-mdc-tooltip{
    --mdc-plain-tooltip-container-color: #616161;
    --mdc-plain-tooltip-supporting-text-color: white;
    --mdc-plain-tooltip-supporting-text-font: Roboto, sans-serif;
    --mdc-plain-tooltip-supporting-text-size: 12px;
    --mdc-plain-tooltip-supporting-text-weight: 400;
    --mdc-plain-tooltip-supporting-text-tracking: 0.0333333333em;
    line-height: 12px;
  }
}
Run Code Online (Sandbox Code Playgroud)


Sau*_*wal 6

ng-deep在类名前添加

尝试这个

::ng-deep .mat-tooltip {
    background: red!important;
}
Run Code Online (Sandbox Code Playgroud)

  • @GilEpshtain 这是这里所有解决方案中唯一对我有用的东西 (2认同)

T. *_*ord 6

我的问题是,使用全局定义的 css 类名(例如 .customname-toolip )作为 matTooltipClass 不起作用。我的解决方案如下,并且需要 !important; 在全局 styles.css 文件中设置:

.mat-tooltip {
    font-size: 16px !important;
}
Run Code Online (Sandbox Code Playgroud)