【发布时间】:2011-02-08 23:57:41
【问题描述】:
我正在尝试为网站实现布局。实际上这是一个简单的 2 列布局,每列都有自己的背景颜色。然而,内容有一个固定的宽度,它应该居中。断点是背景,不应该受内容宽度的限制。
为了说明情况我还做了一张图:
我已经有了使用可以垂直平铺的居中背景图像的想法,但这种解决方案会使网站的最大宽度取决于图像的宽度。
你觉得怎么样,有没有更好的解决方案?
提前致谢
大卫
【问题讨论】:
我正在尝试为网站实现布局。实际上这是一个简单的 2 列布局,每列都有自己的背景颜色。然而,内容有一个固定的宽度,它应该居中。断点是背景,不应该受内容宽度的限制。
为了说明情况我还做了一张图:
我已经有了使用可以垂直平铺的居中背景图像的想法,但这种解决方案会使网站的最大宽度取决于图像的宽度。
你觉得怎么样,有没有更好的解决方案?
提前致谢
大卫
【问题讨论】:
如果您想使用图像作为背景,则图像应跨越至少 960 像素,前 640 像素为一种颜色,右侧 320 像素应为另一种颜色。
如果您希望背景跨越整个网站,那么您必须创建一个足够大的背景,以跨越前 1024 像素,并具有上述我提到的列尺寸。将此添加到您的 CSS:
.wrapper {
background:url("my image here") 0 0 repeat-y;
}
如果您只想使用颜色,只需为 CSS 中的每个 col 类设置以下属性:
col1 { background-color:#fff; }
col2 { background-color:#ccc; }
假设 HTML 结构如下:
<div class="wrapper">
<div class="content">
<div class="col1">
</div>
<div class="col2">
</div>
</div>
</div>
试试下面的 CSS:
// This will create a wrapper across the entire page.
.wrapper {
margin:0 auto;
width:100%;
}
// This is your centered column
.content {
float:left;
width:960px;
}
// This is your first column
.col1 {
background: **your background goes here
float:left;
width:640px;
}
// This is your second column
.col2 {
background: **your background goes here
float:left;
width:320px;
}
如果您希望背景跨越整个网站,那么您必须创建一个足够大的背景以跨越前 1024 像素,并具有上述我提到的列尺寸。
【讨论】:
YUI 为网格布局提供了非常好的解决方案,请检查它,看看它是否有帮助。 http://developer.yahoo.com/yui/grids/
【讨论】: