I haven’t been able to work out how to do it with only css so as a workaround I have resorted to “cheating” and use javascript as well.
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN"
"http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd">
<html xmlns="http://www.w3.org/1999/xhtml">
<head>
<style type="text/css">
body {
text-align:center;
}
#outside {
position: relative;
width:900px;
margin:auto;
text-align:left;
border:solid 1px black;
}
#left {
width:840px;
position: absolute;
margin: 10px 0px 20px 0px;
padding: 10px 0px 0px 0px;
border: 5px solid red;
top: 0px;
left: 0px;
min-height:350px;
background-color: green;
}
#right {
position:absolute;
left:430px;
top:30px;
width:427px;
min-height:343px;
margin: 10px 0px 0px 0px;
padding: 10px 0px 0px 0px;
border: 5px solid orange;
background-color: blue;
}
</style>
<script type="text/javascript">
window.onload=function() {
var leftDiv = document.getElementById("left");
var rightDiv = document.getElementById("right");
var outsideDiv = document.getElementById("outside");
//get the total height of the left div
var leftHeight = leftDiv.clientHeight + leftDiv.style.marginTop
+ leftDiv.style.marginBottom + leftDiv.style.paddingTop
+ leftDiv.style.paddingBottom + leftDiv.style.borderWidth;
//get the total height of the right div
var rightHeight = rightDiv.clientHeight + rightDiv.style.marginTop
+ rightDiv.style.marginBottom + rightDiv.style.paddingTop
+ rightDiv.style.paddingBottom + rightDiv.style.borderWidth;
//set the height og the outside div to the tallest div
outsideDiv.style.height = (leftHeight*1 > rightHeight*1)? leftHeight+'px' : rightHeight + 'px';
}
</script>
</head>
<body>
<div id="outside">
<div id="left">
Lorem ipsum dolor sit amet, tellus et. Molestie auctor nisl faucibus ut, lorem tortor mattis, fusce nullam enim fringilla vel.
Mauris vitae gravida dolor praesent. Id in nascetur aut odio, nam et. Pede libero bibendum sit felis pretium sodales, fusce
pharetra vestibulum bibendum morbi ultricies nullam, est nulla, id amet mollis. Nec consectetuer urna dapibus luctus ut,
ipsum nascetur consequat dapibus dui ac molestie, est nascetur id nec nunc. Mi etiam mauris facilisi sed, nec ut id,
aliquam non, taciti donec ut. Risus integer hymenaeos velit, nisl suspendisse sollicitudin ut, sed tempor sagittis curae dolor,
volutpat massa ut sagittis. Voluptatem a enim, lobortis lectus volutpat, vitae vero diam purus morbi class, tristique donec
ante sed, ac turpis dis dui vestibulum aut.<br /><br />
Tortor sit voluptatem pede sodales turpis hac, vel velit suscipit, luctus bibendum molestie lacinia neque. Porttitor ante
turpis in voluptate vivamus autem, gravida magna amet porta praesent tincidunt at, nam enim sodales ante non, sit nunc
posuere odio libero nibh ac. Amet id dignissim vehicula tempor et eros. Est hendrerit est quis, et viverra est class pede
voluptas libero, sed mauris tincidunt, ultrices praesent. Iaculis vivamus sapien id, lorem ante aliquet, commodo pede imperdiet
congue, dictum integer eget sed orci. Suscipit vitae quis, massa elit faucibus massa, interdum nam pharetra nulla sed, sollicitudin
egestas, magna viverra.<br /><br />
Vitae quis risus enim. Suspendisse a nulla a, vestibulum eros suspendisse. Magna wisi a ad molestie dolor. Quam vel mollis nulla
pharetra. Qui congue inceptos ut vehicula, feugiat ultricies in pellentesque eu, eros aliquid vel nec dis, risus quis feugiat
vestibulum praesent at. Ut nam aenean eu, etiam nonummy etiam tortor, arcu augue urna proident donec mattis praesent, vel commodo
nulla habitasse sapien ullamcorper condimentum. Ipsum nunc leo dictum magna molestie enim, lacus est, ante habitasse scelerisque
dolor leo sodales erat, tristique dapibus nulla vehicula elementum mauris velit, felis a est. Eget sit erat eget arcu donec,
montes varius. Volutpat nisl ligula in. Suspendisse nullam dictum suspendisse, ante quam tortor at sed eu. Condimentum pulvinar
vestibulum condimentum mattis, vehicula vivamus eget enim in, integer penatibus lobortis eu, wisi sit augue libero eget erat magnis,
velit lacus nascetur rutrum sed ac. Sem rutrum vitae sollicitudin, mauris mauris sit wisi.<br /><br />
Et elit nunc, aliquam rhoncus, cras ante est ac consequat, vitae lacinia curabitur pellentesque ipsum bibendum gravida. Arcu in nisl.
Vivamus etiam viverra morbi nunc, neque cras ut placerat id pulvinar eget, dolor vel pede nunc duis. Amet mi egestas porta, leo est
nec et, suscipit sed ipsum mauris vitae. Libero vulputate massa perspiciatis laborum ipsum, leo parturient dapibus accumsan, nec
viverra luctus a. Qui sit lorem scelerisque purus lectus, aptent habitant nunc turpis duis, malesuada a nam mi litora. Duis sapien
felis, eu aute quis, elit dignissim hymenaeos vel.
</div>
<div id="right"></div>
</div>
</body>
</html>