Back to CSS Tips
Preview: what the working site looks like.

Both these div elements vertically center their contents by using the CSS vertical-align property.

The markup
<!doctype html>
<html>
<head>
<meta charset="utf-8">
<title>Untitled Document</title>
</head>
<body>        
    <div id="container"> 
            <div id="left_column">
                <ul id="menu_left">
                    <li><a href="#">Link 1</a></li>
                    <li><a href="#">Link 2</a></li>
                    <li><a href="#">Link 3</a></li>
                    <li><a href="#">Link 4</a></li>
                    <li><a href="#">Link 5</a></li>
                    <li><a href="#">Link 6</a></li>
                </ul>
            <!--end left_column--></div>
    <div id="text_box">
        <p>
        	Both these div elements vertically center their contents by using the 
			<a href="http://www.w3schools.com/cssref/pr_pos_vertical-align.asp">CSS vertical-align property</a>. 
        </p>
    <!--end text_box--></div>
    <!--container--></div>  
</body>
</html>
        
The CSS
html, body {
	margin: 0;
	font: 100% "Trebuchet MS", Arial, Helvetica, sans-serif;
	color: #000;
	background: #fc6;
}
#container {
	width: 800px;
	margin: 0 auto;
	overflow: auto;
	background: #333;
}
a:hover {color: #c00;}
/*****vertically centered ul_menu in a left column*****/
	#left_column {
		width: 147px;
		height: 600px;
		margin: 30px 30px 30px 60px;
		float: left;
		display: table;
		border: 4px solid #000;
		background: #c00;
	}
	ul#menu_left {
		width: 147px;
		display: table-cell; 
		vertical-align: middle;
		list-style-type: none;
	}
	#menu_left li a {
		line-height: 30px;
		width: 147px;
		display: block;
		color: #000;
		text-decoration: none;
		text-align: center;
	}
	#menu_left li a:hover {
		color: #fff;
		background: #Ff0000;
			}
/****vertically centered text in a box****/
#text_box {
	height: 400px;  
	width: 280px;  
	margin: 30px 0 30px 430px;
	padding: 0 10px;
	display: table;
	border: 1px solid #000;
	background: #CC9;
}  
#text_box p {
	display: table-cell; 
	vertical-align: middle;
}