我正在尝试学习 CSS,并开始尝试做一些看起来应该相当基本的事情,但我似乎无法弄清楚。我会以旧方式做的事情是这样的:
<table width="100%">
<tr>
<td>content area</td>
<td width="200">ads, links, whatever</td>
</tr>
</table>
我希望右侧的侧边栏区域设置为 X 像素宽。我想要一个内容区域来填满页面的其余部分。这似乎是整个问题的后半部分,因为将其设置为某个固定宽度将是一件轻而易举的事。
我确实设法得到了我想要的那种行为。通过在两者上使用“position:absolute”并将内容列的右边距设置为侧栏列的宽度,我能够在右侧以某个 X 宽度获得一个列,在左侧获得一个填充其余部分的列.
当我这样做时,尽管内容 div 的高度最终非常小。这是不行的,因为我希望这个 div 有一种特殊的颜色,它位于侧边栏中的内容和内容的后面。
我已经对此进行了彻底的研究,并试图在绝对定位的之后添加一个“div style='clear:both'>”,但这没有任何作用。有任何想法吗?
HTML:
<html>
<head>
<title>FIRST TRY</title>
<link rel="stylesheet" type="text/css" href="style.css" />
</head>
<body>
<div id="content">
<div id="left">
<p>Dolor consuetudium putamus nunc illum at. Qui vel accumsan zzril odio feugait. Iriure nobis aliquam est qui nam. Est ii ad et quod consuetudium. Eu vero tation placerat illum dolore. Suscipit saepius aliquip commodo erat me. Consequat littera autem anteposuerit ullamcorper dolor. Legunt doming dignissim facer futurum quinta. Consuetudium ad magna tempor ut suscipit. Typi aliquam ex esse quarta qui.</p>
<br />
<p><a href="http://css-tricks.com/examples/SuperSimpleTwoColumn.zip">Download this example.</a></p>
</div>
<div id="right">
RIGHT
</div>
<div style="clear: both"></div>
</div>
</body>
</html>
CSS:
#content {
border: 1px solid red;
padding: 5px;
position: relative;
}
#left {
border: 1px solid green;
float: left;
margin-right: 200px;
position: absolute;
top: 0;
left: 0;
}
#right {
border: 1px solid blue;
float: right;
width: 200px;
position: absolute;
top: 0;
right: 0;
}
结果:
我特别想要的是红色框完全包含其他两个。
谢谢你的帮助。