我通常在我的应用程序中使用全局 SCSS 文件,但今天我想将一些 scss 限定为我的组件。
我通过@HostBinding
(of class.card
) 在组件上设置了一个类。
我可以在我的组件中设置项目的样式,例如caard-body
,但是如何将覆盖应用到该组件的card
类?
换句话说,我在页面上有几张卡片。我有一些样式,我只想应用到这张卡上,让它看起来不一样。所以我想应用css比如
.card { background-color: violet; }
所以只有这张卡是紫色的。我想让这个 css 成为这个组件的一部分,所以无论我在哪里使用它,它都会自动成为一张紫色卡片。(实际上我想要的不仅仅是一件简单的事情,但你明白了)
我的组件 TS:
import { Component, Input, HostBinding } from '@angular/core';
@Component({
selector: 'app-reviews',
templateUrl: './reviews.component.html',
styleUrls: ['./reviews.component.scss']
})
export class ReviewsComponent {
@HostBinding('class.card')
true;
@Input()
review;
constructor() {}
}
我的组件 SCSS:
.card-header {
border: 0;
color: #cf0989;
font-family: 'Helvetica Neue', Arial, sans-serif;
font-size: 2rem;
font-weight: normal;
}
.card-body {
...
}
我的组件 HTML:
<div class="card-header">Testimonials</div>
<div class="card-body">
<div class="review-image">
<img class="rounded-circle"
alt="{{review.acf.article_author.post_title}}"
src="{{review.acf.article_author.acf.image}}">
</div>
<div class="review-content">
<p class="review">
<span [innerHTML]="review.content.rendered"></span>
</p>
<p class="reviewer-name">{{review.acf.article_author.post_title}}</p>
</div>
</div>
我的 CSS 中的选择器.card-body
可以.card-header
正常工作,但我无法设置它的样式.card
。添加这个,例如,什么都不做:
.card { background-color: violet: }
如何在组件的 SCSS 文件中创建 SCSS 选择器,这些选择器也适用于通过 应用于组件的类@HostBinding
?我可以吗?我是不是该?