3

Material Design Componentsで Angular2 を使用しています。また、いくつかのスタイルを上書きしたいのですが、ViewEncapsulation のためにできないようです。

サードパーティ コンポーネントのViewEncapsulation (ViewEncapsulation.None) をオフにすることはできますか?

4

1 に答える 1

2

私は個人的には実際のサード パーティのソース (カプセル化の変更など) には触れません。

しかし、これを処理するために、いくつかの解決策を示します。

1-- 醜い :

viewEncapsulation が none の場合、コンポーネント (おそらく最上位のコンポーネント) から必要なものをオーバーライドできます。

app.ts に移動して、カプセル化を none に変更し、その中で必要なことを行います。

  inside your app.scss or css

    md-input {

       input { color:red} 

     // or whatever style you want to override , sometimes you'll need !important .
    }

2-- よりよい:

Material にはいくつかの variables.scss ファイルがあり、それらのソースで問題なく使用でき、色などの変数を簡単にオーバーライドできます。

一般に、オーバーライド元のコンポーネントがカプセル化されている場合にのみ、グローバル css をオーバーライドできます。それ以外の場合、スタイルはそのコンポーネントの外には出ません。

于 2016-07-24T11:09:51.650 に答える