angular - 如何从 Material Icon Buttons 中删除边框和背景
问题描述
我正在建立一个新项目。我已经通过 NPM 安装了 Angular 和 Material。然后我从这个页面设置一个工具栏:https ://material.angular.io/components/toolbar/overview
我复制/粘贴了一个示例工具栏:
navbar.component.html
<mat-toolbar color="primary">
<button mat-icon-button class="example-icon" aria-label="Example icon-button with menu icon">
<mat-icon>menu</mat-icon>
</button>
<span>My App</span>
<span class="example-spacer"></span>
<button mat-icon-button class="example-icon favorite-icon" aria-label="Example icon-button with heart icon">
<mat-icon>favorite</mat-icon>
</button>
<button mat-icon-button class="example-icon" aria-label="Example icon-button with share icon">
<mat-icon>share</mat-icon>
</button>
</mat-toolbar>
整体布局看起来不错。但是图标按钮上有一个边框。
它们似乎来自默认的 chrome 样式表。在开发工具中,它们具有继承自的边框和颜色属性user agent stylesheet
background-color: -internal-light-dark(rgb(239, 239, 239), rgb(59, 59, 59));
border-width: 2px;
border-style: outset;
border-color: -internal-light-dark(rgb(118, 118, 118), rgb(133, 133, 133));
border-image: initial;
我尝试安装normalize.css
时认为只需要设置浏览器默认值。但这对此事没有任何影响。
文档说这mat-icon-button
应该是一个带有透明背景的圆形边界。我错过了一些设置吗?
我创建了一个新应用程序,ng new
我唯一要做的自定义事情是通过共享模块导入材料资源。
工具栏本身navbar
在我的核心模块中的组件中。
app.component.html
<app-navbar></app-navbar>
共享模块:
import { NgModule } from '@angular/core';
import { CommonModule } from '@angular/common';
import { MatIconModule } from '@angular/material/icon';
import { MatToolbarModule } from '@angular/material/toolbar';
const materialModules = [
MatIconModule,
MatToolbarModule,
];
@NgModule({
declarations: [],
imports: [
CommonModule,
...materialModules
],
exports: [...materialModules]
})
export class SharedModule { }
解决方案
确保您包含一个主题并且不要忘记导入MatButtonModule
import { NgModule } from '@angular/core';
import { CommonModule } from '@angular/common';
import { MatIconModule } from '@angular/material/icon';
import { MatToolbarModule } from '@angular/material/toolbar';
import {MatButtonModule} from '@angular/material/button';
const materialModules = [
MatIconModule,
MatToolbarModule,
MatButtonModule
];
@NgModule({
declarations: [],
imports: [
CommonModule,
...materialModules
],
exports: [...materialModules]
})
export class SharedModule { }
推荐阅读
- nativescript - 让 OpenGL 在 Nativescript Angular 应用程序中运行
- reactjs - 测试工具中的笑话
- elasticsearch - {"error":"Content-Type header [] is not supported","status":406} 使用 Golang 向 Elasticsearch 插入数据时
- c# - AspnetCore 2.1 自定义授权过滤器问题
- mysql - MYSQL GROUP BY 子句添加非 GROUP BY 列
- c++ - 从 Windows 中的进程获取完整路径
- regex - 无法识别的字符转义 '-' | 弹性搜索
- java - 我无法输入逻辑代码以在动态文本字段中输入 pin 号。使用 Selenium Webdriver Java
- react-native - ClojureScript + React-Native - 嵌入视频
- pytorch - Pytorch 0.4:网络输入的 requires_grad 标志是否应该在训练期间设置为 True?