Angular 2 从 styles.scss 扩展样式

Posted

技术标签:

【中文标题】Angular 2 从 styles.scss 扩展样式【英文标题】:Angular 2 extend a style from styles.scss 【发布时间】:2018-12-31 00:17:12 【问题描述】:

在 Angular 2 中,我的 styles.scss 文件中有一个 CSS 类:

.FirstClass 

我正在尝试在组件的 .SCSS 文件中扩展此类(例如:MyComponent.scss),例如:

.SecondClass 
  @extend .FirstClass;

我收到一条错误消息,提示找不到 .FirstClass。我是否正确假设styles.scss 中的类和样式可以全局引用?请帮帮我。

【问题讨论】:

不,他们不能,你必须导入它们。 你必须 @import "_styles.scss" 进入 MyComponent.scss 是的,您必须使用@import 才能拥有外部文件 【参考方案1】:

如果你有任何文件,并且你想在另一个文件中使用它的一个类,你必须先导入它。

styles.scss

.FirstClass

MyComponent.scss

@import 'styles.scss'
.SecondClass
 @extend .FirstClass;

SCSS 被编译为 CSS,因此,如果您需要对文件本身进行任何与纯 css 无关的更改,则必须考虑到这一点。

【讨论】:

@extend .FirstClass; 中缺少句点。 @dAxx_ 将全局 scss 文件导入多个组件会影响应用性能(文件大小等)吗?

以上是关于Angular 2 从 styles.scss 扩展样式的主要内容,如果未能解决你的问题,请参考以下文章

Angular 组件的全局 scss 变量,无需每次都导入它们

即使在 angular.json 中有正确的路径,Angular 也会显示样式 scss 错误

Angular 2 - 到处都是重复的 <style> 块

如何从静态隐私/法律/条件资产文档中访问全局 styles.scss?

找不到或无法读取要导入的 Angular CLI SCSS 文件

使用〜(波浪号)导入的 SCSS 文件在 Angular 6 中不起作用