Why does TD height not equal other TD height?

I'm experiencing something very weird I can't really explain.  Basically I'm using DIV layers to contain values which need to be the same height as their corresponding rows in the other DIV layers.  To do this I resize others to the same height as the highest.  Unfortunately after they are set to the new height they aren't really the same height.

I'm including a simple text .html document in this post to help show what I'm experiencing.  Any ideas on how to solve my issue is greatly appreciate.  I'm not adverse to reworking the code, but the key is the black.gif (which is a 1X1 pixel black gif) needs to be 100% width of the row.

Thank you much for your help.
<HTML>
<HEAD>
<SCRIPT LANGUAGE=JAVASCRIPT>
function test() {
	alert( "Column 1 is " + document.getElementById( "COL1a" ).clientHeight + " pixels high." )
	alert( "Column 2 is " + document.getElementById( "COL2a" ).clientHeight + " pixels high." )
	document.getElementById( "COL2a" ).style.height = document.getElementById( "COL1a" ).clientHeight
	alert( "Column 2 is now " + document.getElementById( "COL2a" ).clientHeight + " pixels high...Not!...Why?" )
}
</SCRIPT>
</HEAD>
<BODY ONLOAD="test()">
<FORM>
 
<DIV ID="COL1" STYLE="position:absolute; width:500px;"><TABLE CELLPADDING=0 CELLSPACING=0><TR>
<TD ID="COL1a">ALKDJ LKJ ALKF DLKF LKF SLKF SDLKF LKDSF LKF LKSD FLK DFL SLDKF LKSDF LKFJ 
LD LKJ SLFKJ<BR><IMG SRC="black.gif" WIDTH=100% HEIGHT=2></TD>
</TR></TABLE></DIV>
 
<DIV ID="COL2" STYLE="position:absolute; left:515px;"><TABLE CELLPADDING=0 CELLSPACING=0><TR>
<TD ID="COL2a">FLKDSJ LK FLKD JF<BR><IMG SRC="black.gif" WIDTH=100% HEIGHT=2></TD>
</TR></TABLE></DIV>
 
</FORM>
</BODY>
</HTML>

Open in new window

LVL 3
ironcladsAsked:
Who is Participating?
 
Göran AnderssonConnect With a Mentor Commented:
The columns do actually become the same height. The contents of the columns is centered vertically, so the content of the right column isn't shown at the bottom of the column.

If you add some color to the columns, you see that they have the same height:

<style>
#COL1 { background: #eee; }
#COL2 { background: #eee; }
</style>

If you want the content of the right column to be at the bottom of the column, you can align it to the bottom:

<TD ID="COL2a" valign="bottom">
0
 
Göran AnderssonCommented:
Change

document.getElementById( "COL2a" ).style.height = document.getElementById( "COL1a" ).clientHeight

to

document.getElementById( "COL2a" ).style.height = document.getElementById( "COL1a" ).clientHeight + 'px';
0
 
ironcladsAuthor Commented:
I've tried that already and it still doesn't put the height equal to the first column.  Thanks for your idea though.
0
 
ironcladsAuthor Commented:
What can I say...duh!  I should have seen that.  It's always the simple things in life that count, that goes for coding too. ;-)  Much Thanks for your help.
0
Question has a verified solution.

Are you are experiencing a similar issue? Get a personalized answer when you ask a related question.

Have a better answer? Share it in a comment.

All Courses

From novice to tech pro — start learning today.