【问题标题】:Mat checkbox custom and specific colors垫复选框自定义和特定颜色
【发布时间】:2022-11-10 22:59:22
【问题描述】:

我有两个垫子复选框,我正在尝试更改每个复选框的颜色,一个是绿色,另一个是 红色,但是我发现两种颜色都发生了变化,我尝试通过添加一个类来更改它们,但是没有用,这里是代码:

   <div class="half right">
            <mat-checkbox color="" class="entradaCheck">Coming</mat-checkbox>

            <mat-checkbox color="primary" class="salidaCheck">Exit</mat-checkbox>
        </div>

的CSS

    ::ng-deep .mat-checkbox-checked .mat-checkbox-background,
.mat-checkbox-indeterminate .mat-checkbox-background {
    background-color: rgb(15, 91, 33) !important;
}

::ng-deep .mat-checkbox:not(.mat-checkbox-disabled) .mat-checkbox-ripple .mat-ripple-element {
    background-color: rgb(15, 91, 33) !important;
}

我所做的尝试

.entradaCheck::ng-deep .mat-checkbox-checked .mat-checkbox-background, .mat-checkbox-indeterminate .mat-checkbox-background {
    background-color: rgb(15, 91, 33) !important; }

.entradaCheck::ng-deep .mat-checkbox:not(.mat-checkbox-disabled) .mat-checkbox-ripple .mat-ripple-element {
    background-color: rgb(15, 91, 33) !important; }

【问题讨论】:

    标签: html css angular angular-material


    【解决方案1】:

    我建议不要使用 ::ng-deep,因为它已被弃用:https://angular.io/guide/component-styles#deprecated-deep--and-ng-deep

    您应该能够在您的屋顶 styles.scss (src/app/styles.css) 中为类应用样式,如下所示:

    mat-checkbox {
      &.entradaCheck {
        background-color: rgb(15,91,33) !important;
      }
    }
    

    如果使用styles.css:

    mat-checkbox .entradaCheck{
        background-color: rgb(15,91,33) !important;
    }
    

    【讨论】:

    • 我正在使用 angular 13 和 css,即使它已被弃用,我也必须使用 ::ng-deep,因为如果我不这样做,它就不起作用,而且由于 css,我无法使用你的代码,我只想弄清楚如何用相同的类和标记的角度材料修改不同的组件,但每个组件的样式不同,感谢您的回答
    • “由于 css,我不能使用你的代码”——你能详细说明一下吗?您的全局样式表是 .css 而不是 .scss?如果是这种情况,我可以相应地修改答案。
    • 我将深入了解已弃用的 ::ng-deep,或者您知道我可以在 css 上使用什么来代替 ::ng-deep 吗?
    • 谢谢,是的,我使用的是css而不是scss(“因为我的伙伴说:(”)
    • 还是行不通
    猜你喜欢
    • 2021-10-24
    • 1970-01-01
    • 1970-01-01
    • 2015-10-06
    • 2017-05-11
    • 2018-07-20
    • 2019-06-03
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多