為什麼在 Angular 中 CSS 不應用於 InnerHTML 內容?
在 Angular 中,使用 innerHTML 屬性將 HTML 內容注入到視圖中問題:樣式可能無法如預期地套用。這是由於 Angular 的封裝機制,它可以防止外部樣式幹擾元件內的內容。
了解 Shadow DOM 封裝
預設情況下,Angular 使用類比封裝,建立影子 DOM 並隔離元件樣式。因此,在元件範圍之外、由innerHTML注入的HTML中定義的樣式將被忽略。
解決方案:將封裝變更為None
要解決此問題,您可以透過在元件中將封裝設為 None 來覆蓋 Angular 的封裝。這將允許將來自外部來源的樣式應用於注入的 HTML 內容。
這是一個範例:
<code class="typescript">import { Component, ViewEncapsulation } from '@angular/core'; @Component({ selector: 'example', styles: ['.demo {background-color: blue}'], template: '<div></div>', encapsulation: ViewEncapsulation.None, }) export class Example { someHtmlCode = `<div class="demo"><b>This is my HTML.</b></div>`; }</code>
透過將封裝設定為 None,我們停用 Angular 的影子 DOM 並允許 CSS在註入的 HTML 中生效。因此,注入的 HTML div 中的文字將以藍色背景色呈現。
以上是為什麼我的 CSS 不適用於 Angular 中的 InnerHTML 內容?的詳細內容。更多資訊請關注PHP中文網其他相關文章!

前幾天我得到了這個問題。我的第一個想法是:奇怪的問題!特異性是關於選擇者的,而在符號不是選擇器,那麼...無關緊要?

在這篇文章中,我們將使用我構建和部署的電子商務商店演示來進行Netlify,以展示如何為傳入數據製作動態路線。這是一個公平的


熱AI工具

Undresser.AI Undress
人工智慧驅動的應用程序,用於創建逼真的裸體照片

AI Clothes Remover
用於從照片中去除衣服的線上人工智慧工具。

Undress AI Tool
免費脫衣圖片

Clothoff.io
AI脫衣器

AI Hentai Generator
免費產生 AI 無盡。

熱門文章

熱工具

Safe Exam Browser
Safe Exam Browser是一個安全的瀏覽器環境,安全地進行線上考試。該軟體將任何電腦變成一個安全的工作站。它控制對任何實用工具的訪問,並防止學生使用未經授權的資源。

WebStorm Mac版
好用的JavaScript開發工具

SAP NetWeaver Server Adapter for Eclipse
將Eclipse與SAP NetWeaver應用伺服器整合。

MinGW - Minimalist GNU for Windows
這個專案正在遷移到osdn.net/projects/mingw的過程中,你可以繼續在那裡關注我們。 MinGW:GNU編譯器集合(GCC)的本機Windows移植版本,可自由分發的導入函式庫和用於建置本機Windows應用程式的頭檔;包括對MSVC執行時間的擴展,以支援C99功能。 MinGW的所有軟體都可以在64位元Windows平台上運作。

Atom編輯器mac版下載
最受歡迎的的開源編輯器