当浏览器调整大小而不是缩放图像时,如何显示更多或更少的图像?这不是完全相同的效果,但它是一种用图像填充整个空间的简单方法。
让我们假设,为了示例,您的标头广告的背景图像包含某种标志,例如,城市天际线的照片。总体而言,这是 1600 像素宽。标志位于图像的左侧,而城市景观则延伸到最右侧。我们假设您的标记大致如下所示:
<div id="page">
<div id="masthead">...</div>
<div id="navigation">...</div>
...
</div>
我们可以将#page 元素设置为弹性宽度并将背景图像应用到#masthead 元素:
#page {
max-width: 1600px;
min-width: 800px;
width: 80%;
}
#masthead {
background: url('path/to/image.jpg') no-repeat left top;
height: 100px;
width: auto;
}
这里发生的情况是,#masthead 元素将扩展到 #page 元素的宽度,该宽度将介于 800px 和 1600px 之间(含),具体取决于浏览器窗口的宽度。当#page 元素为 800px 宽时,您只能看到天际线最左边的 800px;当它的宽度为 1600 像素时,您会看到整个天际线。这样,您的徽标始终可见,并且在调整浏览器大小时,会显示更多的城市景观。
这确实需要有一个更大的图像开始(至少与你的最大宽度一样宽,如果你使用弹性的话),但结果是一个无论大小都看起来不错的标头 - 而不依赖于,因为strager 提到,浏览器的图像大小调整算法。