angular - angular material 2 自定义主题按钮对比
问题描述
我刚开始使用角度和角度材质主题,使用自定义调色板创建新主题。
为了生成自定义调色板,我使用了这个工具http://mcg.mbitson.com/#!?mcgpalette0=%233f51b5
它工作得很好https://stackblitz.com/edit/angular-material-custom-theme-button-contrast?file=styles.scss但唯一的问题是我如何才能让按钮文本颜色为绿色背景上的白色?我尝试了不同的数字但没有任何效果
$my-primary: mat-palette($mat-my-green, 500, 50, 50);
$my-accent: mat-palette($mat-my-black, 500, 900, 400);
使用
.mat-raised-button{
line-height: 29px;
margin-right: 8px;
&.mat-primary{
color: mat-contrast($mat-keldano-green,900); // get the contrast color
}}
解决方案
按钮500
用作背景颜色 - 至少在您的设置中。在您的配置中,您将对比色声明500
为#000000
. 设置它#ffffff
,你就可以开始了。
该contrast
属性告诉 Material 在颜色背景上选择什么颜色。所以线的100: #000000
意思是“当背景是100
,#000000
用作文本颜色”。这确保了文本的可读性。
Material 为其元素使用 3 种色调。这些颜色是通过调用来选择的mat-palette
。
$my-primary: mat-palette($mat-my-green, 500, 50, 50);
该调用告诉 Material500
用作“主要”阴影,50
用作较暗和较亮50
。因此按钮有500
颜色,然后为文本选择对比色。
使文本超过 500 为白色:
contrast: (50 : #000000,
100 : #000000,
200 : #000000,
300 : #000000,
400 : #000000,
500 : #ffffff,
600 : #ffffff,
700 : #ffffff,
800 : #ffffff,
900 : #ffffff,
A100 : #000000,
A200 : #000000,
A400 : #000000,
A700 : #000000,
));
https://stackblitz.com/edit/angular-material-custom-theme-button-contrast-8ma1fp?file=styles.scss
推荐阅读
- function - 如何从不以 vec 作为参数的回调内部将值存储在 Vec 中?
- angular - 无法删除角度日历中的事件计数
- django - Django-过滤管理器
- azure-data-factory - 使用 ADF Pipeline RUN ID 作为表名
- node.js - 从终端查询 MongoDB 数据库:[MongoError]: failed to connect to server
- junit - 在 JUnit 测试中创建实例后,如何在 Camunda 中的实例中设置变量?
- java - 使用 Java 应用程序运行项目时未找到 Rest API 响应 404
- javascript - 在 FullCalendar 4 的 dateclick 上打开模式
- python - 如果被杀死,则重新启动 Python 脚本
- reactjs - 从 NPM 添加 bootrap-react 会在 Visual Studio 中创建另一个包锁定文件