Kim*_* BF 18 css angular-material angular
我有角度材料选择:
它的代码:
<md-select placeholder="Descuentos y convenios" [(ngModel)]="passenger.discount">
<md-option [value]="null" [disabled]="true">
Descuentos
</md-option>
<md-option *ngFor="let option of discounts" [value]="option">
{{ option }}
</md-option>
<md-option [value]="null" [disabled]="true">
Convenios
</md-option>
<md-option *ngFor="let option of agreements" [value]="option">
{{ option }}
</md-option>
</md-select>
Run Code Online (Sandbox Code Playgroud)
我想在其中有这样的风格:
我尝试将一些类放在md-select和md-option上,但没有用.我想有一个如何放置背景颜色或边框的例子,这会给我一个想法.
先感谢您
And*_*dré 35
我认为类应该可以工作,但是你可能需要使用/ deep /因为视图封装.
试试这个:
/deep/ md-select.your-class {
background-color: blue;
}
Run Code Online (Sandbox Code Playgroud)
你也可以玩主题.
KJR*_*KJR 10
如果你可以解决你的风格问题与材料2 scss主题,这将是"正确的"方式听到是一个链接到那里的网站. https://material.angular.io/guide/theming.
但是我使用了!对于我不希望材质样式覆盖的样式很重要.
这是我如何使用它:
/*hack to get rid of a scrollbar*/
.cdk-focus-trap-content{
overflow-x: hidden !important;
}
/*hack to get rid of a padding on the popup*/
.mat-dialog-container{
padding: 0px !important;
}
Run Code Online (Sandbox Code Playgroud)
我有一个情况,在md-sidenav中出现了一个水平滚动条,我在md-dialog上摆脱了它们的默认填充.
不是最优雅的解决方案,但我希望这会有所帮助.
这是另一个讨论什么是重要的StackOverflow问题.
最佳解决方案/deep/,>>> 并且::ng-deep已被弃用,不应再使用.
我们对ViewEncapsulation的解决方案是在1)全局css中使用高度特定的css选择器覆盖非常具体的css,或者2)为某些视图/样式/元素创建单独的样式文件,导入到所需的每个组件(例如styleUrls: [material-table-override.css, component.css]).
我使用ViewEncapsulation.None成功覆盖Angular 6中单个组件中的材质表样式.
在您的组件上:
import { ViewEncapsulation } from '@angular/core';
// ...
@Component({
// ...
encapsulation: ViewEncapsulation.None,
})
Run Code Online (Sandbox Code Playgroud)
您可以使用:
::ng-deep {
.mat-dialog-container{
padding: 0px
}
}
Run Code Online (Sandbox Code Playgroud)
更改覆盖类(如mat-dialog-container)样式的正确方法是panelClass根据“ 自定义角度材质”组件样式使用:
设置主题后,将其添加到全局样式表中
.myapp-no-padding-dialog .mat-dialog-container {
padding: 0;
}
Run Code Online (Sandbox Code Playgroud)
使用以下内容打开对话框
this.dialog.open(MyDialogComponent, {panelClass: 'myapp-no-padding-dialog'})
Run Code Online (Sandbox Code Playgroud)