我想创建一个固定宽度的布局,其中页面两侧的背景颜色不同,但无论您缩小多远,背景颜色都从页面的任何一侧无限延伸。
例如,我不希望创建一个 9000x10 像素的图像,在任何一侧都具有正确的颜色并将其平铺,因为这只有在您没有缩小到足以看到背景图像边缘的情况下才有效。
这可能吗?
谢谢!
编辑:
我应该指定,背景应该覆盖页面的整个高度,而不仅仅是窗口/视口的高度。
我想创建一个固定宽度的布局,其中页面两侧的背景颜色不同,但无论您缩小多远,背景颜色都从页面的任何一侧无限延伸。
例如,我不希望创建一个 9000x10 像素的图像,在任何一侧都具有正确的颜色并将其平铺,因为这只有在您没有缩小到足以看到背景图像边缘的情况下才有效。
这可能吗?
谢谢!
编辑:
我应该指定,背景应该覆盖页面的整个高度,而不仅仅是窗口/视口的高度。
这似乎有效:
<body>
<div id="bg-right"></div>
<!-- rest of page -->
</body>
body {
background-color: purple;
}
#bg-right {
background-color: yellow;
position: fixed;
top: 0;
bottom: 0;
left: 50%;
right: 0;
z-index: -1;
}
这适用于 IE7+,内容很少也很多:
HTML:
<div id="left"></div>
<div id="right"></div>
<div id="container"></div>
CSS:
html, body {
margin: 0; padding: 0; border: 0;
}
body {
background: #ccc
}
#left, #right {
position: fixed;
width: 50%;
height: 100%;
top: 0
}
#left {
background: #ccc;
left: 0
}
#right {
background: #999;
right: 0
}
#container {
background: #fff;
width: 80%;
margin: 0 auto;
position: relative
}
这对你怎么样?http://jsfiddle.net/PNYVe/
我不喜欢这个height: 100%; position: fixed;
解决方案,因为我想保留一个选项,让背景图像稍后随页面滚动。(虽然我在写这个问题时没有想到这一点。)我有一部戏,并找到min-height: 100%;
了工作。
<html>
<head>
<style type="text/css">
body {
padding: 0;
margin: 0;
}
#container {
width: 100%;
min-height: 100%;
position: relative;
}
#left, #right {
width: 50%;
height: 100%;
position: absolute;
z-index: -1;
}
#left {
left: 0;
background-color: navy;
}
#right {
right: 0;
background-color: maroon;
}
#content {
width: 512px;
height: 100%;
margin: 0 auto;
background-color: white;
}
</style>
</head>
<body>
<div id="container">
<div id="left"></div>
<div id="right"></div>
<div id="content">
Hi<br />
Hi<br />
Hi<br />
Hi<br />
Hi<br />
Hi<br />
Hi<br />
Hi<br />
Hi<br />
Hi<br />
Hi<br />
Hi<br />
Hi<br />
Hi<br />
Hi<br />
Hi<br />
Hi<br />
Hi<br />
Hi<br />
Hi<br />
</div>
</div>
</body>
</html>
出于某种原因,它在 jsfiddle.net 中不起作用:http: //jsfiddle.net/HktPN/但它在我的浏览器中起作用。
使用马特示例,只需添加一个容器即可解决:http: //jsfiddle.net/PNYVe/3/