我有一个div元素内的两个div元素。这两个div元素都是50%的宽度,另一个浮动到左边,另一个浮动到右边。右浮动div包含一个高图片(不同高度),左浮动div包含文本。在左边的div上,这些文本被分成三个不同大小的行,整个左边的div应该和右边的div一样高。我怎么能够只使用CSS来做到这一点?这里是我的示例代码:浮动div内的三个不同大小的行
<!DOCTYPE html>
<html>
<head>
<title></title>
<style type="text/css">
body {
margin: 0;
}
.container {
width: 100%;
height: 100%;
overflow: auto;
background: #FF0;
}
.left {
float: left;
width: 50%;
background: #F0F;
}
.left .first {
height: 20%;
}
.left .second {
height: 50%;
}
.left .third {
height: 30%;
}
.right {
float: right;
width: 50%;
}
.right img {
display: block;
max-width: 100%;
}
p {
margin: 0;
}
</style>
</head>
<body>
<div class="container">
<div class="left">
<div class="first">
<p>First</p>
</div>
<div class="second">
<p>Second</p>
</div>
<div class="third">
<p>Third</p>
</div>
</div>
<div class="right">
<img src="http://upload.wikimedia.org/wikipedia/commons/3/3a/Centara_Grand_Hotel.jpg" alt="" />
</div>
</div>
</body>
</html>
我真的对你的问题感兴趣,这里有一个jsFiddle(http://jsfiddle.net/9DyDW/5/)与你的代码,我正在玩它,但我无法弄清楚发生了什么事情。问题实际上是高度:.left类中的100%规则,如果您将其更改为自己排列的像素。但为什么100%不能奏效我的问题 – 2012-02-23 14:08:41
问题是,如果包含块的高度为%,则不能指定高度,请参见[W3规范](http:// www .w3.org/TR/CSS2/visudet.html#the-height-property)(特别是“”位)。如果你设置了'.container {height:400px; }在你的原始代码中:这使得紫色的盒子得到正确的高度。 –
Jeroen
2012-02-23 15:02:28
我害怕我无法用百分比完成这个任务。我想我必须使用JS来捕捉图像的高度并为.left容器赋予相同的高度。谢谢你的帮助! – nqw1 2012-02-24 07:20:08