我正在按照此链接在 Angular 5 中实现工具提示。
https://material.angular.io/components/tooltip/api
但我不明白如何实际实施。
任何机构都可以添加 ts 和 html 文件的示例来说明如何实现它?
编辑
感谢您的快速回复。
我尝试将其添加到我的 html 中:
<button mat-raised-button matTooltip="Info about the action" aria-label="Button that displays a tooltip">
</button>
还有 ts 中的这个:
import {MatTooltipModule} from '@angular/material';
但现在我在控制台中收到此错误:
错误:“mat-”前缀不能在 ng-material v1 兼容模式下使用。它用在“按钮”元素上。 错误:“mat-”前缀不能在 ng-material v1 兼容模式下使用。它被用在“按钮”元素上
有谁知道为什么吗?谢谢!
您需要从 MatTooltipModule
@angular/material
import { MatTooltipModule} from '@angular/material';
无论您想在何处使用工具提示,请使用
matTooltip
<button mat-raised-button matTooltip="Tooltip Display" matTooltipShowDelay="1000"
matTooltipHideDelay="2000" aria-label="displays a tooltip">
Tooltip Button
</button>
STACKBLITZ DEMO
解决方案:-
<button mat-raised-button
matTooltip="Info about the action"
aria-label="Button that displays a tooltip when focused or hovered over">
Action
</button>
从“@angular/material”导入{MatTooltipModule};
链接:-
https://stackblitz.com/edit/angular-material-with-angular-v5-xfs8ur?file=app/app.component.html
https://stackblitz.com/edit/angular-cvtwy1?file=material-module.ts
<link rel="stylesheet" href="https://cdnjs.cloudflare.com/ajax/libs/font-awesome/5.15.3/css/all.min.css"/>
<div class="wrapper">
<div class="icon facebook">
<div class="tooltip">
Facebook
</div>
<span><i class="
fab fa-facebook-f"></i></span>
</div>
</div>
<style>
@import url('https://fonts.googleapis.com/css?family=Poppins:400,500,600,700&display=swap');
*{
margin: 0;
padding: 0;
box-sizing: border-box;
font-family: 'Poppins', sans-serif;
}
html,body{
display: grid;
height: 100%;
width: 100%;
place-items: center;
background: linear-gradient(315deg, #ffffff 0%, #d7e1ec 74%);
}
.wrapper{
display: inline-flex;
}
.wrapper .icon{
margin: 0 5px;
text-align: center;
cursor: pointer;
display: flex;
align-items: center;
justify-content: center;
flex-direction: column;
position: relative;
z-index: 2;
transition: 0.4s cubic-bezier(0.68, -0.55, 0.265, 1.55);
}
.wrapper .icon span{
display: block;
height: 60px;
width: 60px;
background: #fff;
border-radius: 50%;
position: relative;
z-index: 2;
box-shadow: 0px 10px 10px rgba(0,0,0,0.1);
transition: 0.4s cubic-bezier(0.68, -0.55, 0.265, 1.55);
}
.wrapper .icon span i{
line-height: 60px;
font-size: 25px;
}
.wrapper .icon .tooltip{
position: absolute;
top: 0;
z-index: 1;
background: #fff;
color: #fff;
padding: 10px 18px;
font-size: 14px;
font-weight: 500;
border-radius: 25px;
opacity: 0;
pointer-events: none;
box-shadow: 0px 10px 10px rgba(0,0,0,0.1);
transition: 0.4s cubic-bezier(0.68, -0.55, 0.265, 1.55);
}
.wrapper .icon:hover .tooltip{
top: -70px;
opacity: 1;
pointer-events: auto;
}
.icon .tooltip:before{
position: absolute;
content: "";
height: 15px;
width: 15px;
background: #fff;
left: 50%;
bottom: -6px;
transform: translateX(-50%) rotate(45deg);
transition: 0.4s cubic-bezier(0.68, -0.55, 0.265, 1.55);
}
.wrapper .icon:hover span{
color: #fff;
}
.wrapper .icon:hover span,
.wrapper .icon:hover .tooltip{
text-shadow: 0px -1px 0px rgba(0,0,0,0.4);
}
.wrapper .facebook:hover span,
.wrapper .facebook:hover .tooltip,
.wrapper .facebook:hover .tooltip:before{
background: #3B5999;
}
</style>