【发布时间】:2012-09-28 20:42:53
【问题描述】:
我有一个居中的包装 div,其中包括一个标题、三个具有(基于 css 的)基于内容长度的动态高度的内容列,以及一个页脚。
现在我想要一个背景,将这些元素的颜色向左和向右扩展。
这是一个 js-fiddle 演示:http://jsfiddle.net/SLvYx/
所以我希望左上角为红色,左中角为黄色,左下角为绿色,依此类推。 我的第一个解决方案是使用宽度为 2500 像素的背景 .png 作为正文,但这是在基于内容的列的动态高度被认为是必要的之后才实施的。
恐怕可能没有纯基于 html/css 的解决方案,但 JQuery 或 javascript 也是一种选择,虽然我只是脚本方面的初学者。 也许我想开箱即用,也许我必须重做整个 html 结构来完成这个,但我不介意。 :-)
我几乎到处搜索,但在任何地方都找不到那个具体案例。
非常感谢您的帮助,因此在此先感谢所有对此进行调查的人。
编辑:我发现这篇文章:Dynamic table size html 这可能会有所帮助,也许这是一个解决方案,使用一个有 5 列的表格,第 1 列用于左侧背景,第 2-4 列用于内容,第 5 列用于正确的背景......这是强烈推荐的,还是我应该把桌子放在外面?
这是我演示的完整代码:
<!DOCTYPE html>
<html>
<head>
<meta charset="utf-8" /> <title>Test</title>
<style type="text/css">
body {margin:0;}
#wrapper {margin: 0px auto; width: 940px;}
#header {background:red; height:100px;}
#content_wrapper {width: 940px; padding: 0px 0px 0px 0px; background: #CCC; overflow: hidden;}
#leftcolumn {background:yellow; width: 470px; float:left; height:auto; min-height: 680px;}
#middlecolumn {background:goldenrod; width: 235px; float:left; height:100%; margin-bottom: -1000px; padding-bottom: 1000px;}
#rightcolumn {background:darkgoldenrod ; width: 235px; float:left; height:100%;margin-bottom: -1000px; padding-bottom: 1000px;}
#footer {background:lightgreen; height:100px;}
</style>
</head>
<body>
<div id="wrapper">
<div id="header">
Header
</div>
<div id="content_wrapper">
<div id="leftcolumn">
Left Column<br />Left Column<br />Left Column<br />Left Column<br />Left Column<br />Left Column<br />Left Column<br />Left Column<br />Left Column<br />Left Column<br />Left Column<br />Left Column<br />Left Column<br />Left Column<br />Left Column<br />Left Column<br />Left Column<br />Left Column<br />Left Column<br />Left Column<br />Left Column<br />Left Column<br />Left Column<br />Left Column<br />Left Column<br />Left Column<br />Left Column<br />Left Column<br />Left Column<br />Left Column<br />
</div>
<div id="middlecolumn">
Middle Column
</div>
<div id="rightcolumn">
Right Column
</div>
</div>
<div id="footer">
Footer
</div>
</div>
</body>
</html>
【问题讨论】: