最大幅80Vwが.mat-dialog-container
に設定されている典型的な角度材料ダイアログが表示されている場合、それを上書きするセレクタを作成するにはどうすればよいですか?本当の全角ダイアログが欲しいです。mdDialogコンテナの幅をどのスコープのCSSセレクタで上書きできるのですか?
問題はスコープです - Angular-CLIはコンポーネントCSSをスコープ属性セレクタでコンパイルします。
したがって、この:
.parent .child
になる:
.parent[some_attr] .child[some_other_attr]
しかし、この特定の要素は、任意の構成要素に取り付けられていないよう - それは、動的に生成された属性を持っていませんその上に。
私は、ダイアログスタイルシートなしの成功とホストコンポーネントのスタイルシートの両方でオーバーライドを試みたしました。
私はもう一度試してみましょう。私はこの問題を説明するうまくやっていません。
のは、私は私のホストコンポーネントのスタイルシートにこれを追加しましょう:私は、ビルドの時計を実行しているので、アプリが再コンパイルされる
.mat-dialog-container {
max-width: 100%;
}
。 CSSの出力は今、このです:
.mat-dialog-container[_ngcontent-c6] {
max-width: 100%;
}
しかし、その要素が実際にそれに属性_ngcontent-c6
を持っていません。この属性は、祖先の兄弟の内側にある他の要素に適用されます(.mat-dialog-container
)。セレクターは間違っています。
CSSをダイアログコンポーネントのスタイルシートに追加すると、同様のことが起こりますが、属性IDが異なります。
これらの属性が要素に追加されないようにするには、ビューのカプセル化を無効にする方法がありますが、要素単位またはルール単位単位ではなく、コンポーネント単位でのみ行うことができます。 – BoltClock