[解決済み] AngularのinnerHTMLでスタイルが機能しない [重複]。
2022-07-17 05:05:26
質問
ビューにinnerHtmlとしてhtmlを渡しています。以下は私のビューです。
<div [innerHTML]="someHtmlCode"></div>
を渡すと、正常に動作しています。
this.someHtmlCode = "<div><b>This is my HTML.</b></div>"
のように、色を含む以下のコードを渡すと、うまくいきません。
this.someHtmlCode = '<div style="background-color: blue;"><b>This is my HTML.</b></div>';
どのように解決するのですか?
あなたが得ているこの動作は正常です。に追加されたクラスは
innerHTML
に追加されたクラスは無視されます。なぜなら、デフォルトではカプセル化は
Emulated
. これは、Angularがコンポーネントの内側と外側でスタイルをインターセプトするのを防ぐことを意味します。
カプセル化を次のように変更する必要があります。
None
に変更する必要があります。
こうすることで、好きな場所でクラスを定義できるようになります。
styles
の中、あるいは別の
.css
,
.scss
または
.less
のようなスタイルシートがあれば、Angularはそれらを自動的にDOMに追加します。
import { Component, ViewEncapsulation } from '@angular/core';
@Component({
selector: 'example',
styles: ['.demo {background-color: blue}'],
template: '<div [innerHTML]="someHtmlCode"></div>',
encapsulation: ViewEncapsulation.None,
})
export class Example {
private someHtmlCode = '';
constructor() {
this.someHtmlCode = '<div class="demo"><b>This is my HTML.</b></div>';
}
}
関連
-
[解決済み】divの高さを画面の残りスペースで埋めるようにする
-
[解決済み] HTMLのid属性に有効な値は何ですか?
-
[解決済み] セレクトボックスのプレースホルダーを作成するにはどうすればよいですか?
-
[解決済み] How do I style a <select> dropdown with only CSS?
-
[解決済み] divの中のテキストを縦に揃えるにはどうしたらいいですか?
-
[解決済み] divブロック内のテキストを(水平方向と垂直方向に)センタリングするにはどうすればよいですか?
-
[解決済み] Bootstrap3による垂直方向の整列
-
[解決済み] 入力テキスト要素のボーダーハイライトを削除する方法
-
[解決済み] MIME-typeが原因でスタイルシートが読み込まれない
-
[解決済み】Angular 2 - innerHTML スタイリング
最新
-
nginxです。[emerg] 0.0.0.0:80 への bind() に失敗しました (98: アドレスは既に使用中です)
-
htmlページでギリシャ文字を使うには
-
ピュアhtml+cssでの要素読み込み効果
-
純粋なhtml + cssで五輪を実現するサンプルコード
-
ナビゲーションバー・ドロップダウンメニューのHTML+CSSサンプルコード
-
タイピング効果を実現するピュアhtml+css
-
htmlの選択ボックスのプレースホルダー作成に関する質問
-
html css3 伸縮しない 画像表示効果
-
トップナビゲーションバーメニュー作成用HTML+CSS
-
html+css 実装 サイバーパンク風ボタン
おすすめ
-
[解決済み] bootstrapでボタンにリンクを貼るには?
-
[解決済み] HTMLの "role "属性は何のためにあるのですか?
-
[解決済み] ローカルストレージとCookieの比較
-
[解決済み] クリアフィックスとは何ですか?
-
[解決済み] input type="date "のフォーマットを変更する方法はありますか?
-
[解決済み] ラジオボタンをデフォルトで選択するには?[重複しています]
-
[解決済み] CSS 背景の不透明度 [重複]について
-
[解決済み] 入力フィールドに :before や :after 疑似要素を使用できますか?
-
[解決済み] label要素の中にinput要素を入れるべきですか?
-
[解決済み】Angular 2 - innerHTML スタイリング