Ответ 1
Вы можете просто импортировать css в основной файл html.
Можно ли добавить глобальный файл CSS к Angular 2? На данный момент у меня есть много разных компонентов, которые имеют одинаковый стиль кнопок, но каждый из компонентов имеет свой собственный 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?
Вы можете просто импортировать css в основной файл html.
Просто напишите свои глобальные стили в файле src/styles.css
. Этот файл будет добавлен в styles.bundle.js
при запуске ng build
.
Если вы хотите добавить больше файлов стилей, вы можете сделать это в своем .angular-cli.json
(или angular.json
для Angular 6+). В этом файле вы увидите массив с именем styles
, с единственным элементом по умолчанию, который называется styles.css
(или src/styles.css
в Angular 6). Вы даже можете включить файлы .scss
.
Если вы хотите использовать SCSS, просто измените расширение вашего файла src/styles.css
на .scss
, а затем .scss
изменение в вашем .angular-cli.json
(или angular.json
в 6+), с помощью редактирование записи в массиве styles
.
При создании компонентов вы бы хотели, чтобы Angular создавал .scss
стилей .scss
вместо .css
. Вот как:
Начиная с Angular 7, когда вы создаете приложение с ng new appname
, вам будет предложено выбрать формат таблицы стилей, который вы хотите использовать, поэтому вы просто выбираете SCSS (источник). Похоже, что здесь заканчивается необходимость вручную настроить Angular для использования SCSS.
Добавьте это в конец вашего файла angular.json
(источник):
"schematics": {
"@schematics/angular:component": {
"styleext": "scss"
}
}
Найдите это в конце вашего .angular-cli.json
и измените значение styleExt
на scss
:
"defaults": {
"styleExt": "css",
"component": {}
}
Ты можешь использовать: