有谁知道将背景图像缩放到它所在的浏览器窗口尺寸的方法?我知道 CSS3 允许背景宽度,但我需要更兼容的东西。
非常感谢,
艾略特
有谁知道将背景图像缩放到它所在的浏览器窗口尺寸的方法?我知道 CSS3 允许背景宽度,但我需要更兼容的东西。
非常感谢,
艾略特
你不能用 a 来做background-image
,因为它不支持调整大小。您必须通过放置一个img
双向拉伸 100% 的标签来伪造它,并使用绝对定位和z-index
. 像这样的东西应该工作:
<body>
<img class="bgimage" src="bgimage.jpg" />
<div id="content">
Your content here...
</div>
在 CSS 中:
html, body {
min-height: 100%;
}
.bgimage {
position: absolute;
z-index: -1;
top: 0;
left: 0;
width: 100%;
height: 100%;
}
还没有测试过,但这至少应该给你一些开始。
这是诀窍(来自http://css-tricks.com/how-to-resizeable-background-image/)
像这样定义你的图像:
<body id="page-body">
<img class="source-image" src="images/image.jpg" alt="" />
</body>
你的CSS是这样的:
#img.source-image {
width: 100%;
position: absolute;
top: 0;
left: 0;
}
body {
overflow: hidden;
}
如果您打算拥有一个非常轻的屏幕,那很好。
但是,如果您打算将图像用作拥挤页面的背景,以下是我们放弃此功能的一些原因:
一些浏览器很难快速呈现它:第一次,在回流和窗口调整大小期间。
对于每张图片,我们不得不花费太多时间在文件大小和图片清晰度之间找到平衡点。随着大屏幕用户群的不断增长,这并不容易。
我们甚至尝试先加载图片的低分辨率版本,同时加载大图片。它提供了非常好的效果,但消耗了更多的浏览器资源
一旦我们放下拉伸的图像,我们的应用程序又很快了,我们通过玩图片停止了拖延;)