我想将“rightBottomPart”定位到“rightPart”的底部,我希望“rightPart与”leftPart“一样高。问题是我不知道”leftPart“中内容的高度和因此我无法设置“文本”的高度。(“文本”中的高度可以解决它)
现在它看起来像这样:
我希望它看起来像这样:
我的代码:
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml" >
<head>
</head>
<body style="margin: 0px 0px 0px 0px;">
<div id="headers" style="background-color: Olive; width: 300px; height: 50px;"></div>
<div id="text" style="background-color: Navy; position: relative; width: 300px;">
<div id="leftPart" style="background-color: Gray; width: 200px; float: left;">Lorem ipsum dolor sit amet, consectetur adipisicing elit, sed do eiusmod tempor incididunt ut labore et dolore magna aliqua.</div>
<div id="rightPart" style="background-color: Red; float: right;">
<div id="rightTopPart" style="background-color: Lime; position: absolute; right: 0px; top: 0px;">top</div>
<div id="rightBottomPart" style="background-color: Yellow; position: absolute; right: 0px; bottom: 0px;">bottom</div>
</div>
</div>
</body>
</html>
它在IE7中看起来是正确的,但在我测试的其他浏览器中却看不到。如果我删除了DOCTYPE标签,它在IE8中看起来也不错,但仍然不在Google Chrome中。
我错过了什么?
由于 卡尔
答案 0 :(得分:3)
为了控制浮动和位置,你需要记住两件事:根据父元素的位置是绝对的,通常需要维度,默认情况下浮动的对象没有维度。
由于您的测试代表了一个简单的双列模型,请查看此处的精彩概述,它可能会略微澄清一点:equal height columns with css
所以,这里的诀窍是给#text一个浮点数和pos:rel然后#right * Part将知道它们的位置。
看看这里:
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml" >
<head>
<style>
body { margin: 0; }
#headers { background: Olive; width: 300px; height: 50px; }
#text { background: Navy; position: relative; width: 300px; display: block; float:left; }
#leftPart { background: Gray; width: 200px; float: left; display: inline-block; }
#rightPart { background: Red; }
#rightTopPart { background: Lime; position: absolute; right: 0; top: 0; }
#rightBottomPart { background: Yellow; position: absolute; right: 0; bottom: 0; }
</style>
</head>
<body>
<div id="headers"></div>
<div id="text">
<div id="leftPart">Lorem ipsum dolor sit amet, consectetur adipisicing elit, sed do eiusmod tempor incididunt ut labore et dolore magna aliqua.</div>
<div id="rightPart">
<div id="rightTopPart">top</div>
<div id="rightBottomPart">bottom</div>
</div>
</div>
</body>
</html>
亲切的问候,健康