如何在全局样式表中设置角度4组件选择器的样式?

Posted

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了如何在全局样式表中设置角度4组件选择器的样式?相关的知识,希望对你有一定的参考价值。

我需要在我的全局样式表中为我的组件选择器添加一些样式属性,但添加的样式不会影响浏览器中的选择器元素。如何完成此操作以影响组件选择器元素上的样式。

我的组件文件

@Component({
  selector: 'admin-dashboardwidgets',
  templateUrl: './dashboardwidgets.component.html'
})

Mys样式表文件

admin-dashboardwidgets {
   width: 100%;
   height:500px;
   background: red;
}

提前致谢

答案

为什么要在全局样式表中使用它?您可以直接在组件的scss文件中使用:host combinator

dashboardwidgets.component.scss

:host{
   width: 100%;
   height:500px;
   background: red;
}

dashboardwidgets.component.ts

@Component({
  selector: 'admin-dashboardwidgets',
  templateUrl: './dashboardwidgets.component.html',
  styleUrls: ['./dashboardwidgets.component.scss']
})

https://angular.io/guide/component-styles#host

使用:host伪类选择器来定位承载组件的元素中的样式(而不是在组件模板中定位元素)。

另一答案

通过使用类选择器 - 您可以实现此目的。

import { Component, ViewEncapsulation } from '@angular/core';

 @Component({
   selector: '.admin-dashboardwidgets', // class selector
   templateUrl: './dashboardwidgets.component.html',
   styles: [` .admin-dashboardwidgets{
     width: 100%;
     height:200px;
     background: red;
     }`],
     encapsulation: ViewEncapsulation.None
 })

<div class="admin-dashboardwidgets"></div> // HTML

检查live link

另一答案

您需要为组件提供styleUrl。它会是这样的:

@Component({
  selector: 'admin-dashboardwidgets',
  templateUrl: './dashboardwidgets.component.html',
  styleUrls: ['./dashboardwidgets.component.scss']
})
另一答案

如果要为所有组件应用全局样式,则必须创建样式表文件并将其添加到.angular-cli.json中的样式数组中。

"styles": [
   "globalStyles.scss"
]

如果您只想要一个组件的样式,可以将它添加到组件styleUrls数组中:

@Component({
  selector: 'admin-dashboardwidgets',
  templateUrl: './dashboardwidgets.component.html',
  styleUrls: ['./dashboardwidgets.component.scss']
})

以上是关于如何在全局样式表中设置角度4组件选择器的样式?的主要内容,如果未能解决你的问题,请参考以下文章

如何在 API 28 中设置 android 日期和时间选择器的样式

如何在资源管理器的文本区域中设置占位符的样式?

如何在 v-html 中设置标签的子组件样式

vue中,在全局样式表中设置了html,body,#app的height为 100%,但导入后只有html和body生效了,为啥?

如何使用样式化组件在 reactjs 中设置 svg 样式

如何在引导表中设置单选按钮或复选框的样式?