2016-10-04 69 views
0

我想找到一种方法来获得div中包含的背景图像,如果它大于div(background-size:contains;)并且图像小于div ,保持它,因为它是不拉伸和模糊它(背景大小:自动;)CSS - 背景大小包含或正常

有没有什么办法做到这一点?我没有从长远来看,图像的控制,因为它是一个WordPress网站(所以图像也必然发生变化,而不会由程序员通过)

+0

如何变化的背景 - 大小与JS依赖于宽度? – Adam

+0

不要以为你可以用JS获取背景中使用的图像的大小。如果可以的话,想知道如何。 – Fredy31

回答

0

window.onload = function() { 
 

 
    var imageSrc = document 
 
        .getElementsByClassName('foo') 
 
        .style 
 
         .backgroundImage 
 
         .replace(/url\((['"])?(.*?)\1\)/gi, '$2') 
 
         .split(',')[0]; 
 

 
    
 
    var divWidth = imageSrc.offsetWidth; 
 

 
    var image = new Image(); 
 
    image.src = imageSrc; 
 

 
    var width = image.width, 
 
     height = image.height; 
 

 
    alert('width =' + width + ', height = ' + height) 
 
    
 
    if (width > divWidth) { 
 
     
 
     imageSrc.style.backgroundSize = "contain"; 
 
     
 
    } 
 

 
}