change background image in body

后端 未结 4 942
情话喂你
情话喂你 2020-11-29 09:22

How do i change the background image in CSS at run time? I have the following background image in body and can the image be changed at run time?

body {
hei         


        
4条回答
  •  误落风尘
    2020-11-29 09:39

    If you're page has an Open Graph image, commonly used for social sharing, you can use it to set the background image at runtime with vanilla JavaScript like so:

    
    

    The above uses document.querySelector and Attribute Selectors to assign meta the first Open Graph image it selects. A similar task is performed to get the body. Finally, string interpolation is used to assign body the background.style the value of the path to the Open Graph image.

    If you want the image to cover the entire viewport and stay fixed set background-size like so:

    body.style.background = `url(${meta.content}) center center no-repeat fixed`;
    body.style.backgroundSize = 'cover';
    

    Using this approach you can set a low-quality background image placeholder using CSS and swap with a high-fidelity image later using an image onload event, thereby reducing perceived latency.

提交回复
热议问题