Try this:
image is in a <span>, text is in a <p>; both tags are set to {display:table-cell}.
Code:
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01//EN" "http://www.w3.org/TR/html4/strict.dtd">
<html>
<!--
http://www.sitepoint.com/forums/showthread.php?927171-How-to-centre-text-vertically-reative-to-image-%28in-a-table%29
Thread: How to centre text vertically reative to image (in a table)
2012.11.26 18:18
Lemon Juice
-->
<head>
<title>Instant Columns</title>
<meta http-equiv="content-type" content="text/html; charset=ISO-8859-1">
<meta http-equiv="content-language" content="en-us">
<style type="text/css">
td {
border:1px solid #faf; /* temp layout testing */
width:500px; /* probably already defined */
height:200px; /* if needed */
}
span {
display:table-cell;
vertical-align:middle;
background-color:#ccc; /* temp layout testing */
margin:4px;
}
img {
padding:4px;
}
p {
display:table-cell;
vertical-align:middle;
background-color:#fcc; /* temp layout testing */
padding:8px;
}
</style>
</head>
<body>
<table>
<tr>
<td>
<span><img src="images/mt-rainier.jpg"></span>
<p>This is a line of text beside the image in the table cell.</p>
</td>
</tr>
</table>
</body>
</html>
Tested in FF17 and IE8
Bookmarks