2016-10-26 6 views
25

グローバルCSSファイルを角度2に追加することはできますか? 現時点では、同じボタンスタイリングを持つ多くの異なるコンポーネントがありますが、各コンポーネントにはスタイリングのある独自のCSSファイルがあります。これは変更には不満です。角2 - グローバルCSSファイル

私は追加するスタックオーバーフロー上のどこかで読ん

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(app.component.css)にCSSスタイルを追加および削除個々のコンポーネントのCSSファイルからCSSスタイルを設定しても動作しませんでした。

確かに、グローバルなCSSファイルを追加する方法はありますか?グローバルCSSファイルにアクセスするには、個々のコンポーネントに何かを追加する必要がありますか?

+1

これは正しい方法です。それは機能しているはずです。 それがうまくいかないと言うと、どういうことが起こりますか? サブコンポーネントのボタンはすべて異なりますか? アプリコンポーネントテンプレートにボタンを追加すると、ボタンの側面は何ですか?それは正しい側面を持っていますか? – chaiyachaiya

+0

グローバルスタイルはまったく適用されません。 – fila

+0

) – Devsullo

答えて

16

メインのhtmlファイルに単純にcssをインポートすることができます。

+2

Angular 2 CLIは実際には、index.htmlファイル内にグローバルCSSスクリプトとして 'styles.css'ファイルを作成してそれを含むことを完全に忘れていました。 "/ *このファイルにグローバルスタイルを追加したり、他のスタイルファイル* /"をインポートすることができます。 Axl_80に感謝します。 – fila

+2

あなたの歓迎、私はあなたを助けることができることを知ってうれしいです。あなたのプロジェクトで幸運;) – Abraham

+10

コード例がいいでしょう –

30

今日のアングル4では、src/styles.cssファイルにグローバルスタイルを書いてください。 ng buildを実行すると、そのファイルはstyles.bundle.jsに追加されます。

スタイルファイルは、.angular-cli.jsonファイルのAngular-CLIに登録されています。 stylesという配列がapps配列内にあり、デフォルトでは単一の項目がstyles.css(パスはsrcディレクトリからの相対パス)です。 SCSSを使用する場合は、その項目の拡張子をscssに変更し、src/styles.cssファイルの拡張子も変更します。

あなたが終了することでこれを見つけ、同じファイルで、デフォルトでscssする(たとえばコンポーネントの)将来のスタイルファイルが必要な場合:

"defaults": { 
    "styleExt": "css", 
    "component": {} 
} 

scssstyleExtの値を変更します。

+1

これはAngularの新しいバージョンとの関連性が高いため、この質問の重要な追加項目です。私は最近Angular CLIを新たにインストールして新しいプロジェクトを作成し、(習慣によって)ブラウザのコンソールでエラーにつながったCSSのインポートを(この質問で選択された答えに従って)手動で組み込んだ。 HTMLで手動のCSSインポートステートメントを削除すると、styles.cssのCSSスタイリングが適用されていることがわかりました。残念ですが、私は新しいプロジェクトを開始する前にこの答えを見ていませんでした... – fila

+0

これは正しい答えになるはずです – Juan

+0

この質問の時点で、これは正しい答えではありませんでした。 Angularへの更新に対応するために「正解」を更新しますか? *技術的に* Angular 2 ... – fila

関連する問題