私は、外部コンポーネントのカプセル化されたCSSをどのように上書きするのかと思いました。外部コンポーネントのカプセル化されたCSSをオーバーライドする
私のプロジェクトでmaterial2を使用しています。タブコンポーネントには、属性オーバーフローがtab-body
に設定されています。オーバーフロー値をオーバーライドすることは可能ですか?
私は、外部コンポーネントのカプセル化されたCSSをどのように上書きするのかと思いました。外部コンポーネントのカプセル化されたCSSをオーバーライドする
私のプロジェクトでmaterial2を使用しています。タブコンポーネントには、属性オーバーフローがtab-body
に設定されています。オーバーフロー値をオーバーライドすることは可能ですか?
特別なCSS /deep/
命令を使用することができます。 See the documentation
だから、あなたは
app sub-component target-component <div class="target-class">...</div>
を持っている場合は、アプリのCSS(以下)に置くことができます。
明らか/deep/ .target-class { width: 20px; background: #ff0000; }
、あなたはsub-component
で、このCSSフラグメントを置くことができます同じように。
'/ deep /'は推奨されず、サポートは[主要なブラウザから削除されました](https://www.chromestatus.com/features/6750456638341120)です。 [Angular documentation](https://angular.io/guide/component-styles#deprecated-deep--and-ng-deep)を参照してください。ですから、あなたのCSSに 'target-class'という名前のクラスを記述し、上書きされたプロパティを[!important](https://developer.mozilla.org/en-US/docs/Web/)にマークすることをお勧めしますCSS/Specificity#The_!important_exception)属性を使用します。 –
外部コンポーネントによってタブに適用されているクラスをチェックします(インスペクタまたは他のツールを使用)。あなたのスタイルのCSSファイルでは、タブのクラスの同じ名前を追加し、オーバーフロープロパティを設定して、それに重要なものを追加して、前の名前を上書きするようにします。また、ページへのあなたのCSSのリンクが、もしあれば外部のコンポーネントのCSSのリンクの後に追加されていることを確認してください。
これが役に立ちます。
はい。オーバーフローを適用するよりも高い特異性を持つCSSセレクタを作成します。 – hungerstar
しかし、それは生成された要素をオーバーライドしません。まだスタイルを持っています –