HTML:
<div class="wrapper"> <div class="left"> Foo </div> <div class="right"> Text row 1 </div> </div> <div class="wrapper"> <div class="left"> Foo Bar </div> <div class="right"> Text row 1<br> Text row 2<br> Text row 3 </div> </div> CSS:
.wrapper { overflow:hidden; } .left { width:80px; float:left; height:100%; } How can I give the floating div the full height of the wrapper (whose height is varying)?
is it possible without jQuery?
Test: http://jsfiddle.net/Q6B43/
What are two valid techniques used to clear floats? Use the "clearfix hack" on the floated element and add a float to the parent element. Use the overflow property on the floated element or the "clearfix hack" on either the floated or parent element.
display: table solutionWithin tables each cell of a row has the same height.
.wrapper { display: table; width: 100%; } .left, .right { display: table-cell; } This is the best solution in my opinion, but is not compatible before IE8.
Here is the Fiddle for this solution.
Absolute positioned elements respect their relative parents height:
.wrapper { position: relative; padding-left: 85px; } .left { position: absolute; left: 0; top: 0; } Normally I would not recommend absolute positioning in most situations. But as you have a fixed width anyway, maybe it does not matter. But be aware of the fact that this will ignore long contents in .left. The height is just controlled by .right.
Here is an update to your Fiddle.
flexible solutionThis is so new I would not recommend using it right now, but just to be complete. You could use CSS3 flex, but be aware of browser compatibility:
.wrapper { display: flex; } The Fiddle (tested in current Chrome and Firefox).
grid layoutEven newer than flexbox, CSS grid seams to be the perfect answer for layout questions.
.wrapper { display: grid; grid-template-areas: 'left right'; } .left { grid-area: left; } .right { grid-area: right; } Browser compatibility is rare, if you go back a view versions. Besides, it would be overkill for the OP's scenario in my opinion, but for more complex layout troubles in the future, this is a very powerful thing.
See it in the Fiddle.
If you love us? You can donate to us via Paypal or buy me a coffee so we can maintain and grow! Thank you!
Donate Us With