角度材料モーダルダイアログで空白を取り除きたい。どのように私は白を見ることができないようにCSSをスタイルするのですか?これまでの私のCSS:角度材料モーダルダイアログの周りの空白を取り除く
app-commission-me-dialog {
margin: 0px;
padding: 0px;
}
.mat-dialog-container {
margin: 0px;
padding: 0px;
}
角度材料モーダルダイアログで空白を取り除きたい。どのように私は白を見ることができないようにCSSをスタイルするのですか?これまでの私のCSS:角度材料モーダルダイアログの周りの空白を取り除く
app-commission-me-dialog {
margin: 0px;
padding: 0px;
}
.mat-dialog-container {
margin: 0px;
padding: 0px;
}
があなたのスタイルで、デフォルトのスタイルを上書きするViewEncapsulationを使用してください。ダイアログが開きコンポーネントで
は、以下の変更を実行します。
import {ViewEncapsulation} from '@angular/core';
@Component({
.....,
encapsulation: ViewEncapsulation.None
})
とそのコンポーネントのCSSファイルで、次のクラスを追加します。ここでは
.mat-dialog-container {
padding: 0px !important;
}
はPlunker Demoへのリンクです。
私は選択した回答にコメントしましたが、完全な回答で明確にしたいと思います。コンポーネントにダイアログスタイルを追加し、ViewEncapsulationをNoneに設定すると、それらのスタイルはアプリケーション全体に全体的に影響し、将来のダイアログはパディングなしで開きます。
が代わりにダイアログのpanelClass
性質を利用するために選ぶ:
component.ts
this.dialog.open(MyDialogComponent, {
panelClass: 'app-full-bleed-dialog',
data: ...
});
グローバルスタイルシート
.app-full-bleed-dialog .mat-dialog-container {
padding: 0;
}
そのように、あなたはまだ上のカプセル化を維持することができますダイアログコンポーネントスタイル、および選択可能な必要に応じてapp-full-bleed-dialog
クラスを再利用してください。
Materialコンポーネントのカスタマイズについては、check out this guideを参照してください。
なぜ、コンポーネントのスタイルでthayを定義できるときに、グローバルスタイルファイルでオーバーライドされたスタイルを維持したいのですか? ViewEncapsulationは、理由により角度で提供されます。 – Faisal
ViewEncapsulationは、コンポーネントのスタイルを自身のスコープにのみ適用するために用意されています。 OPは、(言い換えれば)_different_コンポーネントをどのようにスタイルするかを尋ねました。ダイアログにロードするコンポーネントは '.mat-dialog-container'の子であるため、グローバルスタイルを使用せずにそのセレクタをターゲットにする方法はありません。それはちょうど 'None'がとにかく何をするのかということです。それがその理由です。あなたのアプローチはうまくいきますが、可能な方法はありません**その1つのダイアログだけが影響を受けていることを保証することです** 2つのダイアログ、パディングなし、そしてpanelClass_を使わないで、認めます。 –
確かに私はあなたの懸念を否定していない、後で見てみましょう、まずそれを自分でテストする必要があります。 – Faisal
これは、すべてのマテリアルダイアログのパディングと同じように、非常に強力なアプローチです!代わりに、 'app-full-bleed-dialog'のようなクラスをダイアログの' panelClass'設定に追加してください。次に、あなたの*グローバルスタイル*で、 '.app-full-bleed-dialog .mat-dialog-container'セレクタでオーバーライドを追加します。 –
@WillHowell、これは 'ViewEncapsulation.Native'または' ViewEncapsulation.Emulated'を使うことで回避できます。ここでのアイデアは、OPに指示を与え、同時に問題を解決することです。だからこそ私の答えにはViewEncapsulationのドキュメントへのリンクが含まれています。私はよく説明されたコメントのためにあなたのdownvoteを取るでしょう。しかし、私はセレクタのアプローチに同意しません。 – Faisal