我有三个 div 标签,一个包装器和两个并排的包装器:
<div id="wrapper">
<div id="left"></div>
<div id="right"></div>
</div>
我想创建<div id="left">
标签是可变高度的条件,拉伸包装。
结果,<div id="right">
将扩展到包装器的任何高度。
什么 CSS 将完成此任务?谢谢!
也许我迟到了,但用纯 CSS 做你描述的事情真的很简单。诀窍是#right
绝对定位并给它一个top
0的值bottom
。这会将它拉伸到#left
给出的任何高度#wrapper
。这是一个完整的工作示例——#left
绿色、#right
蓝色和#wrapper
红色,但从未见过,因为它完全被#left
and覆盖#right
。尝试删除该bottom: 0;
行以查看没有它的情况。
<html lang="en">
<head>
<title></title>
<style type="text/css">
#wrapper {
background: #fdd;
position: relative;
width: 300px; /* left width + right width */
}
#left {
background: #dfd;
width: 200px;
}
#right {
background: #ddf;
bottom: 0;
position: absolute;
right: 0;
top: 0;
width: 100px;
}
</style>
</head>
<body>
<div id="wrapper">
<div id="left">
<p>Lorem ipsum dolor sit amet, consectetur adipiscing elit. Integer augue</p>
<p>massa, scelerisque non viverra sagittis, egestas nec erat. Aliquam vel</p>
</div>
<div id="right">
<p>turpis metus. Sed id lorem eu urna suscipit porttitor. Nullam. </p>
</div>
</div>
</body>
</html>
如果您打算使用 Jquery,那么您可以这样做。
$(document).ready(function(){
var leftHt = $('#left').height();
$('#right').css("height",leftHt);
});
它不是css,但它非常简单并且应该可以工作。至少据我所知,CSS 无法轻松做到这一点。
如果您还没有 Jquery API,只需在 Javascript 上方通过它即可。
<script src="http://ajax.googleapis.com/ajax/libs/jquery/1.3.2/jquery.min.js" type="javascript" language"javascript"></script>
这里的工作示例:
#right 没有一个很好的方法来匹配 #left 已经变成的任何东西。最好的方法可能是:
<div id="wrapper">
<div id="right"></div> <!-- note that right comes before left -->
<div id="left"></div>
</div>
然后有这种风格:
#left, #right {
width: 50%; /* Adjust as needed */
#right {
float: right;
}
这样,#right 不会影响页面长度,但 #left 始终会。但是,#right 仍然不会延伸到#left 的长度。我不知道你有什么理由让它延伸到#left,但我认为它是一种装饰性的东西。如果您希望它一直重复下去,我会尝试从#left 或#wrapper 应用它。
例如,如果您想要#left white 和#right red:
#left {
background: #fff;
}
#wrapper {
background: #f00;
}
最好的实用解决方案是一个表格 - 请参阅 [this SO question](使两个浮动 CSS 元素具有相同的高度)。
当然你可能有你自己不使用表格的原因......
如果您正在尝试做背景或其他事情,因此需要相同的高度,我建议您使用桌子。这要容易得多。如果您必须使用 div 和浮动 div,尤其是,本文介绍了我所见过的唯一一种行之有效的方法。它用于三列,但您可以将其修改为两列:
http://matthewjamestaylor.com/blog/holy-grail-no-quirks-mode.htm