实际上,没有办法使用 css 自动调整 div 高度以自动调整背景大小。
但是您可以使用 javascript 来执行此操作(在加载背景图像之后)。
<!DOCTYPE html>
<html>
<body>
</body>
<div id='hello' style="background:url(http://nokiaindiacontest.com/ashalcm/images/nokia-asha-Width-banner.png);">
</div>
<script type="text/javascript" charset="utf-8">
window.onload = function() {
var imageSrc = document
.getElementById('hello')
.style
.backgroundImage
.replace(/url\((['"])?(.*?)\1\)/gi, '$2')
.split(',')[0];
var image = new Image();
image.src = imageSrc;
var width = image.width,
height = image.height;
document.getElementById('hello').style.height = height+'px';
document.getElementById('hello').style.width= width+'px';
}
</script>
</html>
无论如何,在没有 javascript 的情况下仍然有一种效率低下的方法,方法是将图像包含在 img 标签下,并将可见性设置为隐藏:
<div id='hello' style="background:url(http://nokiaindiacontest.com/ashalcm/images/nokia-asha-Width-banner.png);">
<img src="http://nokiaindiacontest.com/ashalcm/images/nokia-asha-Width-banner.png" style="visibility:hidden"/>
</div>
此致:)