将样式应用于 Material2 组件不起作用
Applying style to Material2 component does not work
我有一个 <md-input>
元素:
<md-input class="filter-name-input" [(ngModel)]="name" placeholder="Name"></md-input>
我正在尝试通过 CSS:
对其应用样式
md-input {
height: 2000000px;
}
我没有看到在浏览器调试器中应用的样式。我这样做不对吗?
不,你做得对,看看这个 plunker
<md-input #startDate
required
name="startDate"
placeholder="startDate">
</md-input>
</p>
<style>
md-input{height:1000px; background:red;}
</style>
实际上 css 高度正在应用于您的组件,但由于白色背景可能不可见,请参阅随附的插件,它对我来说工作正常。
简答
您可以在 index.html 中使用 link 标签来覆盖组件样式,a la:
<link rel="stylesheet" href="my-global-styles.css">
Link 样式不会被组件样式覆盖。
长答案
这是由于 Angular 2 的 ViewEncapsulation,它隔离了可重用组件的样式。它可以防止单个组件的样式泄漏并影响应用程序中的其他组件,但如果组件实现者未明确允许,它也可以防止您进入组件样式。
以下文章可能会有所帮助:
我有一个 <md-input>
元素:
<md-input class="filter-name-input" [(ngModel)]="name" placeholder="Name"></md-input>
我正在尝试通过 CSS:
对其应用样式md-input {
height: 2000000px;
}
我没有看到在浏览器调试器中应用的样式。我这样做不对吗?
不,你做得对,看看这个 plunker
<md-input #startDate
required
name="startDate"
placeholder="startDate">
</md-input>
</p>
<style>
md-input{height:1000px; background:red;}
</style>
实际上 css 高度正在应用于您的组件,但由于白色背景可能不可见,请参阅随附的插件,它对我来说工作正常。
简答
您可以在 index.html 中使用 link 标签来覆盖组件样式,a la:
<link rel="stylesheet" href="my-global-styles.css">
Link 样式不会被组件样式覆盖。
长答案
这是由于 Angular 2 的 ViewEncapsulation,它隔离了可重用组件的样式。它可以防止单个组件的样式泄漏并影响应用程序中的其他组件,但如果组件实现者未明确允许,它也可以防止您进入组件样式。
以下文章可能会有所帮助: