2017-10-10 7 views
0

ページ全体の背景色を角度で変更しようとしています(枠なしで作業する場合はbodyタグまたはhtmlタグを使用します)。私はこのためのベストプラクティスを見つけることができません、私はそれが来るべきアプリケーションを構築しているので、可能な限り、それがフレームワーク内にあることを望みます。ページ全体の背景色を角で変更する方法

+1

Angular CLIを使用している場合は、styles.cssにhtmlタグとbodyタグを追加できます。 –

+0

これを「app.component.css」に入れてください。 'html { 背景色:黒; } ' 何の影響もありません –

+0

app.component.css、style.css.Orに設定していない場合(コンポーネント)、ng-deepのようなものを使用する必要があります – Vega

答えて

3

いずれのコンポーネントからでも実行できます。たとえば:

export class AppComponent implements AfterViewInit { 
     constructor(private elementRef: ElementRef){ 

     } 
     ngAfterViewInit(){ 
     this.elementRef.nativeElement.ownerDocument.body.style.backgroundColor = 'yourColor'; 
     } 
    } 

this.elementRef.nativeElement.ownerDocumentを使用することにより、あなたは、任意の角度の規則に違反することなくwindow.documentオブジェクトにアクセスすることができます。もちろんwindow.documentを使用してdocumentオブジェクトに直接アクセスできますが、ElementRefからアクセスする方が良いと思います。

+0

私はこれを試しましたが、仕事、エラーなし、効果なし、ここで何かを変更する必要がありましたか?this.elementRef.nativeElement.ownerDocument.style.backgroundColor'? –

+1

私の悪い、実際には、ngOnInitライフサイクルフックからDOMにアクセスすることはできません。私は私の答えを修正しました – asmmahmud

+0

私は実際にあなたの答えに満足しています、そして確かに私のコードに入るものですが、アンダーソンがスポットとシンプルなヒットに答えて以来、私は彼を承認しなければなりません、私を助けて、評判を得るほどあなたを満足させるでしょう。 –

5

angle-cliを使用している場合。
グローバルスタイルファイルが存在する必要があります。

  • SRC
    • アプリ
    • 資産
    • 環境
    • index.htmlを
    • Styles.cssを

あなたのスタイルを置くことができるはずです。 html { background-color: black; }を使用してページ全体を表示します。

+0

その1つ、感謝、私はasmmahmudの答えを待つことに気づかなかった、私は答えの1つを確認します。 –

関連する問題