设置 Angular Material Tooltip 的字体大小

问题描述 投票:0回答:13

我对网络开发非常陌生,我不知道如何解决以下问题,尽管它可能很简单。

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

<div mdTooltip="tooltip text" mdTooltipPosition="above">
  <span>Show tooltip</span>
</div>

我想增大工具提示文本的字体大小。但是,我没有在 Angular Material 文档中找到如何执行此操作,也没有在网络中搜索。有谁知道如何做到这一点?谢谢。

css angular tooltip angular-material angular-material2
13个回答
68
投票

您可以通过在主样式文件中添加

.mat-tooltip
css 声明并更改其中的字体大小来解决此问题。您需要设置
!important
字体大小,否则不会显示。


57
投票

根据此处的文档: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>

然后在你的 CSS 中(全局 - 不适用于组件):

  .mat-tooltip.tooltip {
    background-color: darkblue;
    font-size: 12px;
  }

还可以在这里查看他们的演示:https://github.com/angular/material2/tree/master/src/demo-app/tooltip

还要记住,如果您使用 SASS,工具提示的容器位于底部,并且离您在组件的 HTML 中放置它的位置不远,因此不要将其嵌套在该组件中。确保它是独立的,否则它将无法工作。如果您只是选择覆盖 .mat-tooltip

,则此注释显然也适用于上面的评论

要查看更改,请在开发人员工具中找到底部带有“cdk-overlay-container”类的 div。然后将鼠标悬停在该元素上。当您将鼠标悬停在该元素上时,您可以使用箭头键导航到该元素,以确认是否正在添加您的类。


16
投票

您可以使用 css

/deep/
选择器。 例如:

/deep/ .mat-tooltip {
  font-size: 14px;
}

那么你就不必使用

!important


14
投票

在类名前添加

ng-deep

试试这个

::ng-deep .mat-tooltip {
    background: red!important;
}

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;
  }
}

6
投票

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

.mat-tooltip {
    font-size: 16px !important;
}

3
投票

在 styles.css 中添加以下代码以增加其字体大小,即 12px

CSS

.mat-tooltip {
  font-size: 14px !important;
}

并在标签的 as 中使用 matTooltip

<p matTooltip="My Tooltip">...<p>

3
投票

试试这个方法。应该可以。

test.component.html

<div mdTooltip="tooltip text" mdTooltipPosition="above" matTooltipClass="myTest-tooltip">
  <span>Show tooltip</span>
</div>

测试.component.ts

@Component({
  selector: 'test',
  templateUrl: './test.component.html',
  styleUrls: ['./test.component.scss'],
  encapsulation: ViewEncapsulation.None,
  /*
  styles: [`
   .myTest-tooltip {
      min-width: 300px;
      background-color: #FC5558;
      font-size: 16px;
   }
`]*/
})

test.component.scss

.myTest-tooltip {
    min-width: 300px;
    background-color: #FC5558;
    font-size: 16px;
}

1
投票

使用

matTooltipClass
在工具提示上应用自定义类

<button mat-raised-button
            matTooltip="Adding a class to the tooltip container"
            matTooltipClass="custom-tooltip">
      Custom tooltip
</button>

在组件 style.scss 文件中添加您的样式

.custom-tooltip {
  font-size: 20px !important;
}

1
投票

您可以通过添加自定义类+使用

/deep/
来仅为您的组件设置自定义样式,这将应用于您的自定义类,全局应用CSS更改。

例如为图像标签添加自定义工具提示:

<img
   matTooltip="text"
   matTooltipClass="my-custom-class"<----
   src=""/>

在CSS文件中:

/deep/ .mat-tooltip.my-custom-class {<---
  background: #FFFFFF;
}

1
投票

对于较新的版本(我使用的是 v15),使用特定的类声明(在 html 标记中)只是大量的重复和重复。

我想要一种全球性的方式。

.mat-mdc-tooltip {
  --mdc-plain-tooltip-container-color: #fff;
  --mdc-plain-tooltip-supporting-text-font: "Baloo 2", sans-serif;
  --mdc-plain-tooltip-supporting-text-size: 14px;
  --mdc-plain-tooltip-supporting-text-weight: 100;
  --mdc-plain-tooltip-supporting-text-color: #000;
 }

 .mdc-tooltip__surface {
   letter-spacing: -0.5px!important;
   border: 1px solid #333!important;
 }

这在整个网站上都运行得很好。实际上我有它在我的核心 SCSS 文件中。


0
投票

我没有 Angular 的经验,但你可以为 div 添加类或 id。然后你可以用css文件来控制这个类或id。

<div  class="sth" mdTooltip="tooltip text" mdTooltipPosition="above"> <span>Show tooltip</span> </div>

还有

.sth{
    font-size:20px;
}

在 css 文件中。


-1
投票

将其放入您的组件CSS中(如果您想全局应用它,则将其放入主页组件CSS中。请注意,将其放入您的全局CSS文件中是行不通的,您必须将其放入主页组件CSS中才能全局应用它) .

::ng-deep .mat-tooltip {
  font-size: 16px;
}
© www.soinside.com 2019 - 2024. All rights reserved.