Angular: Use Renderer 2 to Add CSS Variable

前端 未结 1 1782
失恋的感觉
失恋的感觉 2021-01-15 12:14

Is it possible to add inline style css variable using Renderer2?

I tried the following but it doesn\'t work.

import { Component, OnChang         


        
1条回答
  •  走了就别回头了
    2021-01-15 12:43

    Angular sanitizes CSS variables set in property bindings. You can bypass this behavior with DomSanitizer.

    @Component({
      selector: 'my-app',
      template: `
        
        
    
        
    My height is set by CSS Variable
    `, styles: [` div { height: var(--height); } ` ] }) export class AppComponent { height = 50; get style() { return this.sanitizer.bypassSecurityTrustStyle(`--height: ${this.height}px`); } constructor(private sanitizer: DomSanitizer) { } inc() { this.height += 10; } dec() { this.height -= 10; if (this.height <= 0) { this.height = 0; } } }

    Live demo

    You might find this article interesting. It goes into details on theming Angular components with CSS variables.

    0 讨论(0)
提交回复
热议问题