使用Angular Material Design的主题按钮文本

Chr*_*tta 5 angular-material

我想使用$mdThemingProvider自定义调色板来普遍配置我网站上的所有按钮.我可以通过配置A200A700调色板来操作按钮的背景颜色.我还想更改默认文本颜色.我jiggered用contrastDefaultColor,contrastLightColorscontrastDarkColors,但我已经能够做的最好的就是让黑色或白色的文字.

以下snippit将生成带有深色文本的白色按钮:

var lightGrey = $mdThemingProvider.extendPalette('grey', {
  'A200': '#fefefe', // Element background color (default)
  'A700': '#fefefe', // Element hover background color (default)
  'contrastDefaultColor': 'dark',
  'contrastLightColors': '600 700 800 900'
});
$mdThemingProvider.definePalette('light-grey', lightGrey);

$mdThemingProvider.theme('default')
  // Accent palette controls buttons, links, etc
  .accentPalette('light-grey');
Run Code Online (Sandbox Code Playgroud)

更改contrastDefaultColor为"浅"会导致文本变为白色.

我可以通过覆盖生成的样式表的规则来手动实现我想要的效果:

.md-button.md-default-theme.md-fab {
  color: #bdc3c7;
}
Run Code Online (Sandbox Code Playgroud)

...但我正在尝试使用库中提供的工具.

小智 1

我不知道你为什么会遇到这个问题,但是通过给 A200 和 A700 你想要的颜色就能解决问题。像这样:

var lightGrey = $mdThemingProvider.extendPalette('grey', {
  'A200': '#bdc3c7', // Element background color (default)
  'A700': '#bdc3c7', // Element hover background color (default)
  'contrastDefaultColor': 'dark',
  'contrastLightColors': ['600', '700', '800', '900']
});
Run Code Online (Sandbox Code Playgroud)

注意:尝试以数组形式给出对比调色板。

如果您遇到一些不同的问题,请更新或者您可以参考此链接