您好,我有一些大小为1200x1200的大型背景图片,希望在用户调整浏览器大小时能够自动扩展图片,但同时限制图片不会缩小到原始尺寸以下。
虽然有很多可伸缩的背景图片,但我找不到符合要求的。感谢您的帮助。
您好,我有一些大小为1200x1200的大型背景图片,希望在用户调整浏览器大小时能够自动扩展图片,但同时限制图片不会缩小到原始尺寸以下。
虽然有很多可伸缩的背景图片,但我找不到符合要求的。感谢您的帮助。
background-size: cover;
这就是你想要的
以下CSS + Javascript + JQuery组合对我很有用。
感谢ANeves提供的上述答案,它非常有帮助。
body
{
background: url(background.jpg) center center fixed;
background-size: 100% auto;
}
jQuery (function ($)
{ // ready
$(window).resize (function (event)
{
var minwidth = 1200;
var minheight = 1024;
var bodye = $('body');
var bodywidth = bodye.width ();
if (bodywidth < minwidth)
{ // maintain minimum size
bodye
.css ('backgroundSize', minwidth + 'px' + ' ' + minheight + 'px')
;
}
else
{ // expand
bodye
.css ('backgroundSize', '100% auto')
;
}
});
});
另一种可能是使用媒体查询。将图像大小设置为1280x450,然后对于所有宽度大于1280px的窗口大小,使用background-size:100% auto;的媒体查询。
还有一些处理IE图像调整大小的代码,但我承认在此方面的成功有限...
filter: progid:DXImageTransform.Microsoft.AlphaImageLoader(src='../images/beach_2.png',sizingMethod='scale');
-ms-filter:"progid:DXImageTransform.Microsoft.AlphaImageLoader(src='../images/beach_2.png',sizingMethod='scale')" ;
background-repeat: no-repeat;
background-size: 100% 100%;
对于背景图片,我通常会为html标签设置一个最小宽度,该宽度将是原始图像的宽度或更小,这可以防止图像缩小太多。
您似乎在寻找CSS3的background-size属性。如果您知道图像的大小为1200x1200,则可以将最小大小限制为容器。
我不认为它适用于IE,因此可能不是您的选择。
在这种情况下,我建议您看一下http://www.markschenk.com/cssexp/background/scaledbgimage.html
background-attachment: fixed;
会裁剪。 - Júda Ronén