[英]Angular 2 - Global CSS file
是否可以向Angular 2添加全局CSS文件? 目前,我有許多具有相同按鈕樣式的不同組件 - 但每個組件都有自己的CSS文件和樣式。 這對變化感到沮喪。
我在Stack Overflow上的某個地方讀到了:
import { ViewEncapsulation } from '@angular/core'; //add this
@Component({
selector: 'app-root',
templateUrl: './app.component.html',
styleUrls: ['./app.component.css'],
encapsulation: ViewEncapsulation.None //add this
})
所以我在根組件中添加了ViewEncapsulation行,然后將CSS樣式添加到根應用程序CSS(app.component.css)並從單個組件CSS文件中刪除了CSS樣式,並且它不起作用。
當然有一種方法可以添加全局CSS文件? 我是否需要向各個組件添加內容以使其訪問全局CSS文件?
只需在src/styles.css
文件中編寫全局樣式即可。 運行ng build
時,該文件將添加到styles.bundle.js
。
如果您想添加更多樣式文件,可以在.angular-cli.json
(或Angular 6+的angular.json
)文件中添加。 在該文件中,您將看到一個名為styles
的數組,默認情況下只有一個項目,即styles.css
(或Angular 6中的src/styles.css
)。 您甚至可以包含.scss
文件。
如果你想使用SCSS,只需改變你的擴展src/styles.css
文件.scss
,則反映了你的變化.angular-cli.json
(或angular.json
在6+)文件中,通過編輯styles
數組中的條目。
在創建組件時,您希望Angular創建.scss
樣式文件而不是.css
。 這是如何做:
從Angular 7開始,當您使用ng new appname
創建應用程序時,系統將提示您要使用哪種樣式表格式,因此您只需選擇SCSS( 源代碼 )。 似乎這里結束了手動配置Angular以使用SCSS的需要。
在angular.json
文件的末尾添加它( 源代碼 ):
"schematics": {
"@schematics/angular:component": {
"styleext": "scss"
}
}
在.angular-cli.json
文件的末尾找到它,並將.angular-cli.json
的值styleExt
為scss
:
"defaults": {
"styleExt": "css",
"component": {}
}
您只需在主html文件中導入css即可。
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.