<div class="a">
<div class="b">
Lorem ipsum dolor sit amet, consectetur adipiscing elit. Donec justo nunc, vehicula nec auctor a, lacinia dapibus tortor. Praesent id mi id dui sodales laoreet. Maecenas ut aliquet urna. Donec porttitor turpis eu velit viverra in tincidunt nisi viverra. Curabitur mi ligula, facilisis ut cursus vel, fermentum sit amet nibh. Ut in nisl cursus quam molestie scelerisque non a nulla. Morbi eu diam nibh, eu dictum orci. Nunc est neque, dignissim ut fermentum id, sagittis eget urna.
</div>
<div class="c">
<div class="d" style="background: grey; height: 100%; width: 100%;"></div>
<div class="e">Vertical Align This</div>
</div>
</div>
Styles:
.a {
border:1px solid red;
overflow:hidden;
}
.a div {
display:inline-block;
}
.b {
width:200px;
border:1px solid blue;
float:left;
position:absolute;
}
.c {
width: 100%;
margin-left: 200px;
position:relative;
}
.d {
position:absolute;
top:0;
left:0;
}
.e {
position: relative;
}
So basically
- I know the width of the left div (container B) but not its height
- The width of the right div (container C) has to take up the remaining space
- I do not know the height or width of the outer div (container A)
- There is an element (container D) inside the right div (container C) that must be placed under another element (container E)
- Container D should be the same dimensions as container C
- Container E should have text that is both horizontally and vertically center (with respect to container C)
I have tried various CSS settings including messing with the line height, display (inline-block vs block), heights/widths as %, floats...