Style html,body from web component (Angular 2)

前端 未结 10 1795
南笙
南笙 2020-12-03 00:39

I\'m working on a LoginComponent in Angular 2 that should \"restyle\" the html and body tags, so I can put in a background image speci

10条回答
  •  失恋的感觉
    2020-12-03 01:07

    I'm not sure if this is exactly what you're looking for but this won't leave you with a permanently changed body background-image.

    Here is how I did it for something similar. If tou want to impact the body background image for just this page this may work. (I've not tested this fully but it seems to work on windows browsers.)

    Inside your component you can just work directly through the DOM when the component gets constructed. When it gets destroyed you can undo the change.

    export class SpecialBackground  {
      constructor(){
        document.body.style.backgroundImage = "url('path/to/your/image.jpg')";
        document.body.style.backgroundPosition = "center center";
        document.body.style.backgroundRepeat = "no-repeat";
        document.body.style.backgroundAttachment = "fixed";
        document.body.style.backgroundSize = "cover";
      }
      ngOnDestroy(){
        document.body.style.backgroundImage = "none";
      }
    }
    

    For your purposes you can use a different function (rather than the constructor) when you button is clicked and you should good to go.

提交回复
热议问题